我正在构建一个Django网站,用户可以在其中注册并做一些事情。注册后,应确认电子邮件。
以下是确认用户的方式:在我的数据库中,我添加了一个名为account_emailaddress
的表。此表中的verified
列将在未确认电子邮件地址时显示0
,在确认电子邮件地址时显示1
。
现在,我有一个模板,当电子邮件地址等于0
时,该模板应该引发错误。
这完全可行吗?我不知道该怎么做,所以有人可以指导我这样做吗?我使用的不是我自己编辑的自定义用户模型,而是Django用户模型。
这是模板的样子:
我假设需要通过添加类似于以下内容的if语句在模板文件中对此进行排序:
{% block content %}
{% if email_is_confirmed %}
<style>
</style>
<body>
<p> CONFIRMED </p>
<div> <p>Here goes a bunch of features</p> </div>
</body>
{% else %}
<p> Your email is not confirmed </p>
{% endif %}
{% endblock %}
答案 0 :(得分:1)
您没有说account_emailaddress
表如何链接到您的用户,无论该表具有用户表的外键还是电子邮件地址的列。我假设它是与用户一对一链接的。在这种情况下,您可以在模板中以user
的身份访问已登录用户的对象,并可以像使用任何Django查找一样访问链接的表,例如user.account_emailaddress.verified
(或您将related_name
设置为的任何值)。在模板中将是:
{% if user.account_emailaddress.verified %}
您可能还想研究诸如django-verified-email-field
或django-user-accounts
之类的软件包。