django模板标签 - 比较两个变量

时间:2013-07-11 08:11:12

标签: django django-templates

{% if firstpass != secondpass %}
        errors.append('Passwords are not the same')

我正在尝试创建一个用户可以更改其个人信息的页面。这个特别适用于检查密码文本框(firstpass)和密码重新输入文本框(secondpass)是否包含相同的密码。出于某种原因,我在使用!=符号的行上遇到编译器错误。谁有人建议为什么? :(

1 个答案:

答案 0 :(得分:0)

如果我的教学是正确的,您需要将此错误消息附加到errors列表。然后你需要改变它。

首先,您需要在模板中创建表单。我只是创建一个虚拟表单来理解发生了什么。

<form action="/password-confirm/" method="post">{% csrf_token %}
  <input type="text" name="firstpass">
  <input type="text" name="secondpass">
  <input type="submit" name="">
</form>

其次在views.py中创建一个视图。

def password_confirm(request):
    if request.method == "POST":
        firstpass = request.POST["firstpass"]
        secondpass = request.POST["secondpass"]
        if firstpass == secondpass:
            // Write code if passwords are same.
        else:
            errors.append("Passwords are not the same")
    return render(request, 'password_confirm.html')

urls.py中的第三位。

url(r'^password-confirm/$', 'happytenants.views.password_confirm', name='about_us'),

如果您需要在模板中显示错误,只需将变量传递给模板。

def password_confirm(request):
    ...
    return render(request, 'password_confirm.html', {"errors": errors})