Джанго изменить POST и перейти к следующему представлению - PullRequest
2 голосов
/ 06 июля 2010

В моем веб-приложении Django пользователь отправляет данные в Form1.html.Данные передаются в Form2.html, где они отправляют больше данных.После отправки формы Form2 они переносятся в Done.html.

Form1 >> Form2 >> Done

Проблема в том, что мне нужны данные из формы Form1 из From2 и вГотовый вид.Получение данных из формы Form1 в представление Form2 не проблема, просто возьмите значения из request.POST['value'].Как в представлении Form2 передать данные Form1 в представление Done?Я подумал, что могу просто изменить объект POST в Form2, как показано ниже, и передать объект запроса:

def form2(request):
    form1string = request.POST['inputbox1']

    request.POST = request.POST.copy() # make the POST QueryDict mutable
    request.POST.setdefault('data1', form1string)

    t = loader.get_template('done.html')
    c = RequestContext( request, {  # pass on old request so new POST data is passed on
        'blah': some_var,
    })
    c.update(csrf(request)) # add the csrf_token to the Context dictionary
    return HttpResponse(t.render(c))

Я не решаюсь использовать django.sessions, поскольку не у всех включены файлы cookie.

Заранее спасибо за помощь!

1 Ответ

1 голос
/ 06 июля 2010

Я бы начал читать здесь: http://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/

Относительно нерешительности сессий:

Поддерживает состояние в хешированных полях HTML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...