从Django用户模型创建表单

0 投票
2 回答
706 浏览
提问于 2025-04-16 07:10

我正在用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。在这种情况下,你应该有两个密码输入框:password1password2(所以你用的 password 竟然能正常工作并且显示为普通文本框,这就有点奇怪了……)。不过,正如 Carles Barrobés 建议的,你可以试试 django-registration

1

可以试试django-registration来注册用户。这是一个非常完整、可重复使用的应用,专门用来做这个事情。我自己用过,感觉挺不错的。

http://bitbucket.org/ubernostrum/django-registration

你可以查看完整的源代码,了解它是怎么解决密码确认问题的等等。

这可能并不是直接回答你的问题,但它很可能能满足你的注册需求,让你可以把精力放在其他编码上。

撰写回答