【问题标题】:Django form-wizard form saveDjango 表单向导表单保存
【发布时间】:2022-01-03 22:27:22
【问题描述】:

我想保存表单并登录我以前使用请求执行此操作的会话向导我将如何使用它>?在 done 函数中。

class UserWizard(SessionWizardView):
    template_name = "registration/signup.html"
    form_list = [SignUpForm]
    def done(self, form_list, **kwargs):
        process_data(form_list)
        return redirect('home')

""" def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('home')
    else:
        form = SignUpForm()
    return render(request, 'registration/signup.html', {'form': form}) """

【问题讨论】:

    标签: django django-formwizard


    【解决方案1】:
    class UserWizard(SessionWizardView):
        template_name = "registration/signup.html"
        form_list = [SignUpForm]
        def done(self, form_list, **kwargs):
            #process_data(form_list)
            form_list[0].save()
            userCreate = form_list[0]
            username = userCreate.cleaned_data.get('username')
            raw_password = userCreate.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            if user:
                auth_login(self.request, user)
            return redirect('home')
    

    只需通过保存表单来创建用户,然后使用 auth_login。

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2014-05-19
      • 2017-04-18
      相关资源
      最近更新 更多