2014-02-04 5 views
0

У меня есть ситуация здесь моя страница Регистрация подается в URL, как это http://localhost:8000/signUp?qid=ca1480f4 после успешной регистрации я хочу, чтобы перенаправить пользователя на страницу входа в систему с этим запросом ?qid=ca1480f4Джанго HttpResponseRedirect с дополнительным query_string

views.py

class SignUp(FormView): 
success_url = '/login' 


def post(self, request, *args, **kwargs): 
    form = self.form_class(request.POST) 
    if form.is_valid(): 
     form.save() 
     return HttpResponseRedirect(self.get_success_url()) 
    else: 
     return self.form_invalid(form) 

Какие изменения мне нужно сделать, я получаю этот запрос с self.request.META['QUERY_STRING']

ответ

3

Заменить следующие строки:

return HttpResponseRedirect(self.get_success_url()) 

с (Добавить строку запроса):

return HttpResponseRedirect(self.get_success_url() + '?' + request.META['QUERY_STRING']) 
+0

Не будет ли этот URL-кодирование в '' & символы, хотя? –

+1

@JorgeOrpinel, согласно [django documentation] (https://docs.djangoproject.com/en/1.11/ref/request-response/#django.http.HttpRequest.META), 'request.META ['QUERY_STRING'] 'является неотправленной строкой запроса. Пока строка запроса действительна, она должна быть в порядке, imho. – falsetru

Смежные вопросы