Многократная форма Джанго процесса - PullRequest
0 голосов
/ 10 января 2019

Попытка создать следующую форму начальной загрузки в форму django https://codepen.io/designify-me/pen/qrJWpG?editors=1010 с использованием одного вида

Я закончил с первой частью получения данных и их сохранения в сеансе django. Как мне перенаправить на вторую часть без использования js или ajax

if rf.is_valid():
    logger.debug("the form is valid ")
    email = rf.cleaned_data.get("email")
    first = rf.cleaned_data.get("first_name")
    last = rf.cleaned_data.get("last_name")
    password = rf.cleaned_data.get("password")
    phone = rf.cleaned_data.get("phone")
    logger.info("trying to register")
    try:
        user = User.objects.create_user(email, password, phone, first)
        user.username = user.email
        #user.first_name = first
        user.last_name = last
        #user.phone = phone
        if original_referrer:
            user.original_referrer = original_referrer
        request.session['user_details'] = {
            "email": rf.cleaned_data["email"],
            "first": rf.cleaned_data["first_name"],
            "last": rf.cleaned_data["last_name"],
            "password": rf.cleaned_data["password"],
            "phone": rf.cleaned_data["phone"],

        }
        logger.debug(request.session['user_details'])
        is_successed=1

1 Ответ

0 голосов
/ 10 января 2019

Я предполагаю, что поскольку вы сохранили данные в сеансе, который хотите перенаправить в другое представление и получить доступ к данным сеанса. Вы можете сделать это так

from django.http.response import HttpResponseRedirect

if rf.is_valid():
    ...
    # Replace with your url or use the reverse function for a named url
    return HttpResponseRedirect('/the/next/view/')

затем в вашем следующем представлении

def step2_view(request):
    user_details = request.session['user_details']

Вы также можете взглянуть на формы мастера из библиотеки django-formtools, что облегчает эту задачу: imo https://django -formtools.readthedocs.io / en / latest / wizard.html

...