django:1个视图中的2个模板

时间:2015-10-07 20:19:10

标签: django python-2.7 django-views

抱歉新手问题

这就是我想要完成的事情

填写表单中的字段并提交后,视图会在您的电子邮件中发送确认代码,然后您将转到另一个模板,在该模板中,它会要求提供视图发送的代码。

提交后,视图将检查您的代码是否与发送的视图的随机生成代码匹配,如果代码有效则数据将被保存

这是我的观点

def save_page(request):
form = application_form(request.POST)
if request.method == 'POST':

    if form.is_valid():  

        a = (''.join(random.choice(string.ascii_uppercase) for i in range(12)))
        i = 1
        try:
            cde = APPLICANT_DATA.objects.get(code=a)
            i = 0
        except:
            i = 1

        while i ==  0 :

            a = (''.join(random.choice(string.ascii_uppercase) for i in range(12)))
            try:
                cde = APPLICANT_DATA.objects.get(code=a)
                i = 0
            except:
                i = 1

        else:

            emails = form.cleaned_data['EMAIL']
            mail = EmailMessage('Your activation and application code is:  ' + str(a) +", do not show this to anyone", to=[emails])
            mail.send()
            cde = form.save(commit=False)


            return HttpResponseRedirect('verify')

            sub_form = confirmform(request.POST)
            if request.POST['form-type'] == u"verify":

                if sub_form.is_valid():
                    e = sub_form.cleaned_data['code']
                    if form.code == e:
                        form.save()

                    return HttpResponseRedirect('/')
            else:
                sub_form = confirmform()

            return render(request, 'frontend/verify.html', {'sub_form': sub_form})


else:

    form = application_form()

return render(request, 'frontend/apply.html', {'form': form})

我先尝试保存数据然后使用会话我验证了代码并编辑了数据库本身的数据,但如果我考虑一下,数据库就会挤满数据。我只需要验证数据

我真的坚持这个,我似乎找到了解决方案

我非常感谢任何帮助,指示和提示

1 个答案:

答案 0 :(得分:0)

解决了它。我做的不是做我原来的想法,而是保存数据然后发送链接以激活帐户/应用程序,如果帐户未在一天内激活,数据将通过django命令删除< / p>