从Django用户模型创建表单
我正在用Django的内置用户模型和通用视图来创建一个用户注册表单。可是我不知道怎么确认密码。
<form action="." method="post">
{% csrf_token %}
{{ form.non_field_errors }}
<p>
{{ form.username.errors }}
<label for="username">Username</label>
{{ form.username }}
</p>
<p>
{{ form.email.errors }}
<label for="email">Email</label>
{{ form.email }}
</p>
<p>
{{ form.password.errors }}
{{ form.password.label_tag }}
{{ form.password }}
</p>
<p><input type="submit" value="Submit" /></p>
</form>
所以我遇到的问题是,表单无法提交,而且我也不能确认密码。现在密码是明文显示的,而不是隐藏的,不过我稍后会解决这个问题。
我试过用form.password_confirmation和form.confirm_password,但都不管用。找不到相关的文档说明。
2 个回答
1
我想你指的是这个形式:http://code.djangoproject.com/browser/django/tags/releases/1.2.3/django/contrib/auth/forms.py#L10。在这种情况下,你应该有两个密码输入框:password1
和 password2
(所以你用的 password
竟然能正常工作并且显示为普通文本框,这就有点奇怪了……)。不过,正如 Carles Barrobés 建议的,你可以试试 django-registration。
1
可以试试django-registration来注册用户。这是一个非常完整、可重复使用的应用,专门用来做这个事情。我自己用过,感觉挺不错的。
http://bitbucket.org/ubernostrum/django-registration
你可以查看完整的源代码,了解它是怎么解决密码确认问题的等等。
这可能并不是直接回答你的问题,但它很可能能满足你的注册需求,让你可以把精力放在其他编码上。