django密码重置password_reset_confirm

阿努吉(Anuj KC)

我正在django做一个项目。在我的项目中,我需要通过电子邮件重设密码。为此,我使用了django.contrib.auth.urls。通过djangos模板后,我的测试成功了。后来我在模板上进行了尝试,为此,我创建了一个注册文件夹并创建了包括电子邮件模板在内的五个html页面。url(r'^web/',include('django.contrib.auth.urls'))我的主网址中也包含了但是当我运行服务器时,我可以将链接传递到电子邮件。并在我的浏览器中打开视图。因为我更改了两次输入的密码,并且在我什么都没有提交时发生了什么问题,请帮帮我吗?

我的password_reset_confirm.html是

{% extends 'base.html' %}
{% load i18n %}

{% block content %}
    {% if validlink %}
        <p>Please enter your new password twice.<br />
           So we can verify you typed it in correctly.</p>
        <form action="" method="post">
            <div style="display:none">
                <input type="hidden" value="{{ csrf_token }}"name="csrfmiddlewaretoken">
            </div>
            <table>
                <tr>
                    <td>{{ form.new_password1.errors }}
                        <label for="id_new_password1">New password:</label></td>
                    <td>{{ form.new_password1 }}</td>
                </tr>
                <tr>
                    <td>{{ form.new_password2.errors }}
                        <label for="id_new_password2">Confirm password:</label></td>
                    <td>{{ form.new_password2 }}</td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" value="Change my password" /></td>
                </tr>
            </table>
        </form>
    {% else %}
        <h1>Password reset unsuccessful</h1>
        <p>The password reset link was invalid, <br />
        possibly because it has already been used. <br />
        Please request a new password reset.</p>
    {% endif %}
{% endblock %}
舞弊

我以不同的方式实现了密码重置过程,以下经过测试并可以正常工作:

在项目urls.py中:

urlpatterns = patterns('',
    url(r'^user/', include('users.urls')),
)

在urls.py中:

...
url(r'^password-reset/$', 'django.contrib.auth.views.password_reset', kwargs={'template_name': 'password_reset_form.html'}, name='password-reset'),
url(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done', kwargs={'template_name': 'password_reset_done.html'}, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$','django.contrib.auth.views.password_reset_confirm',kwargs={'template_name': 'password_reset_confirm.html'},name='password_reset_confirm'),
url(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete', kwargs={'template_name': 'password_reset_complete.html'}, name='password_reset_complete'),
...

为方便起见,我在应用程序的根目录下创建了模板文件,以上网址位于我的项目的/ user下。

users/templates$ ls password*
password_reset_complete.html  password_reset_done.html
password_reset_confirm.html   password_reset_form.html

我进行了测试,其工作形式与django提供的形式相同,只是扩展了首页基本模板,因为我不希望任何django管理模板出现在前端用户中,例如:

{% extends "base.html" %}
{% load i18n %}

{% block title %}{% trans 'Password reset' %}{% endblock %}

{% block maincontent %}
<div class="row">
    <div class="col-lg-6 col-lg-offset-3">
        {% if validlink %}
        <h1>{% trans 'Enter new password' %}</h1>
        <p>{% trans "Please enter your new password twice so we can verify you typed it in correctly." %}</p>

        <form action="" method="post">{% csrf_token %}
            {{ form.new_password1.errors }}
            <div class="form-group">
                <label for="id_new_password1">{% trans 'New password:' %}</label>
                <input class="form-control" type="password" id="id_new_password1" name="new_password1" value="">
            </p>
            {{ form.new_password2.errors }}
            <div class="form-group">
                <label for="id_new_password2">{% trans 'Confirm password:' %}</label>
                <input class="form-control" type="password" id="id_new_password2" name="new_password2" value="">
            </div>
            <div class="row">
                <div class="col-lg-l2">
                    <input type="submit" class="btn btn-default" value="{% trans 'Change my password' %}" />
                </div>
            </div>
        </form>

        {% else %}

        <h1>{% trans 'Password reset unsuccessful' %}</h1>

        <p>{% trans "The password reset link was invalid, possibly because it has already been used.  Please request a new password reset." %}</p>

        {% endif %}
    </div>
</div>
{% endblock maincontent %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 django 认证 password_reset_confirm 错误

来自分类Dev

找不到“ password_reset_confirm”,不断收到此反向错误。'password_reset_confirm'不是有效的视图函数或模式名称

来自分类Dev

错误:找不到与“ password_reset_confirm”相反的字符。'password_reset_confirm'不是有效的视图函数或模式名称

来自分类Dev

找不到“ password_reset_confirm”,不断收到此反向错误。'password_reset_confirm'不是有效的视图函数或模式名称

来自分类Dev

NoReverseMatch at account/reset/done in django 密码重置功能

来自分类Dev

NoReverseMatch在/ accounts / password / reset / confirm

来自分类Dev

NoReverseMatch在/ accounts / password / reset / confirm

来自分类Dev

密码重置Django 1.6

来自分类Dev

在Django中重置密码

来自分类Dev

密码重置Django 1.6

来自分类Dev

Django:内置密码重置视图

来自分类Dev

django密码重置NoReverseMatch错误

来自分类Dev

Django密码重置中的NoReverseMatch

来自分类Dev

在Django 1.6中重置密码

来自分类Dev

django密码重置NoReverseMatch错误

来自分类Dev

Django 1.6-密码更改/重置模板

来自分类Dev

NoReverseMatch:在Django注册的密码重置表单中?

来自分类Dev

重置Django密码-使用celery发送邮件

来自分类Dev

密码重置功能Django的NoReverseMatch错误

来自分类Dev

python Django重置密码URL NoReverseMatch

来自分类Dev

如何使用Django和Gmail重置密码

来自分类Dev

向django密码重置表单添加样式

来自分类Dev

密码重置功能Django的NoReverseMatch错误

来自分类Dev

Django 1.6-密码更改/重置模板

来自分类Dev

Django密码重置没有反向匹配

来自分类Dev

Django Rest Framework + Django-Allauth密码重置/恢复

来自分类Dev

更改密码与重置密码

来自分类Dev

Django-移动password_reset模板

来自分类Dev

将到期时间设置为django密码重置令牌

Related 相关文章

  1. 1

    使用 django 认证 password_reset_confirm 错误

  2. 2

    找不到“ password_reset_confirm”,不断收到此反向错误。'password_reset_confirm'不是有效的视图函数或模式名称

  3. 3

    错误:找不到与“ password_reset_confirm”相反的字符。'password_reset_confirm'不是有效的视图函数或模式名称

  4. 4

    找不到“ password_reset_confirm”,不断收到此反向错误。'password_reset_confirm'不是有效的视图函数或模式名称

  5. 5

    NoReverseMatch at account/reset/done in django 密码重置功能

  6. 6

    NoReverseMatch在/ accounts / password / reset / confirm

  7. 7

    NoReverseMatch在/ accounts / password / reset / confirm

  8. 8

    密码重置Django 1.6

  9. 9

    在Django中重置密码

  10. 10

    密码重置Django 1.6

  11. 11

    Django:内置密码重置视图

  12. 12

    django密码重置NoReverseMatch错误

  13. 13

    Django密码重置中的NoReverseMatch

  14. 14

    在Django 1.6中重置密码

  15. 15

    django密码重置NoReverseMatch错误

  16. 16

    Django 1.6-密码更改/重置模板

  17. 17

    NoReverseMatch:在Django注册的密码重置表单中?

  18. 18

    重置Django密码-使用celery发送邮件

  19. 19

    密码重置功能Django的NoReverseMatch错误

  20. 20

    python Django重置密码URL NoReverseMatch

  21. 21

    如何使用Django和Gmail重置密码

  22. 22

    向django密码重置表单添加样式

  23. 23

    密码重置功能Django的NoReverseMatch错误

  24. 24

    Django 1.6-密码更改/重置模板

  25. 25

    Django密码重置没有反向匹配

  26. 26

    Django Rest Framework + Django-Allauth密码重置/恢复

  27. 27

    更改密码与重置密码

  28. 28

    Django-移动password_reset模板

  29. 29

    将到期时间设置为django密码重置令牌

热门标签

归档