`

Django实现发送邮件重置用户密码

阅读更多

        Django,是个不错的框架,非常全,内置了用户系统,咱们稍微修改就可以实现发送重置密码邮件。

url.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from django.contrib.auth import views as auth_views

urlpatterns = patterns('',

url(r'^forgot-password/$',
views.forgot_password, name="forgot-password"),
url(r'^password/change/$',
auth_views.password_change,
name='password_change'),
url(r'^password/change/done/$',
auth_views.password_change_done,
name='password_change_done'),
url(r'^resetpassword/$',
auth_views.password_reset,
name='password_reset'),
url(r'^resetpassword/passwordsent/$',
auth_views.password_reset_done,
name='password_reset_done'),
url(r'^reset/done/$',
auth_views.password_reset_complete,
name='password_reset_complete'),

url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
auth_views.password_reset_confirm,
name='password_reset_confirm'),

)

templates设置

在 django/contrib/auth/templates/registration 中copy如下文件到自己的templates目录下的registration中:

1
password_reset_subject.txt

在 django/contrib/admin/templates/registration 中copy如下文件到自己的templates目录下的registration中:

1
2
3
4
5
6
7
8
logged_out.html
password_change_done.html
password_change_form.html
password_reset_complete.html #修改密码完成的文件
password_reset_confirm.html
password_reset_done.html
password_reset_email.html #发email的文件
password_reset_form.html

可根据自己的需求进行定义我在这里面,就把logged_out.html文件删除了,加入了自己写的 login.html ,然后将所有文件中的

1
2
3
{% extends admin/base_site.html %}
改为
{% extends base.html %}

这样做完还是不能用的,因为需要base.html文件:

1
2
3
4
5
6
7
8
<html>
<head>
<title>{% block title %}{% endblock title %}</title>
</head>
<body>
{% block content %}{% endblock content %}
</body>
</html>

测试

点击忘记密码:

忘记密码忘记密码

输入自己的邮箱地址。

不一会就会收到邮件:

忘记密码忘记密码

内容为:

忘记密码忘记密码

想修改邮件内容可以修改templates/registration/password_reset_email.html文件。

分享到:
评论

相关推荐

    django实现用户的登录注册连接后台数据库完成主页的搭建

    8. 忘记密码功能:当用户忘记密码时,Django可以通过邮件验证或安全问题等方式帮助用户重置密码。这涉及到发送验证邮件的逻辑,可能需要集成如`django.core.mail`模块和SMTP服务。 9. 模板系统:Django的模板引擎...

    Django实现登录-注册等功能

    10. **密码重置(Password Reset)**: Django还提供了密码重置功能,允许用户通过电子邮件链接重置密码。这涉及到发送带有唯一令牌的电子邮件,用户点击后可以设置新密码。 以上是使用Django实现登录和注册功能的基本...

    利用Django内置的认证视图实现用户密码重置功能详解

    本篇将详细介绍如何利用这些视图来创建一个通过电子邮件重置密码的流程。 首先,我们来看`PasswordResetView`。这个类视图负责处理用户请求密码重置的过程。它会检查用户提供的电子邮件地址,并在数据库中查找对应...

    Django实现发送邮件找回密码功能

    本文将详细介绍如何使用Python的Django框架实现这一功能,特别是通过发送带有验证码的邮件来验证用户身份。 首先,找回密码的流程通常包括以下几个步骤: 1. 用户在登录界面点击“忘记密码”链接。 2. 系统生成一...

    Django通用类视图实现忘记密码重置密码功能示例

    在Django框架中,开发一个忘记密码和重置密码的功能是一项常见的需求。Django提供了内置的通用类视图,使得这个过程变得简单高效。本文将详细介绍如何利用这些类视图来实现这一功能。 首先,我们需要导入相关的视图...

    Django实现发送邮件功能

    在Django框架中实现发送邮件功能,主要是通过集成SMTP(Simple Mail Transfer Protocol)服务来完成的。SMTP是一种互联网标准,用于在邮件服务器之间传输电子邮件。下面将详细介绍如何配置和使用Django来发送邮件。 ...

    python实现邮箱登录、邮箱验证码注册、找回密码等功能

    5. URL路由:理解Flask或Django的URL路由机制,创建重置密码的URL。 6. HTTP请求:requests库用于处理用户点击重置链接后的HTTP请求。 7. 令牌管理:生成和验证唯一令牌,确保请求安全性。 在实际开发中,还要考虑...

    django-password-reset-2.0.tar.gz

    首先,`django-password-reset`的核心功能是通过电子邮件发送验证链接,用户点击链接后进入密码重置页面。相较于Django内置的机制,2.0版本提供了更多自定义选项,如: 1. **邮件模板定制**:允许开发者自定义邮件...

    Django-Registration:用户操作,如注册、登录、忘记密码、重置密码、更改密码等

    用户输入他们的电子邮件地址,系统会发送一个重置密码的链接。用户点击链接后,可以设置新的密码。 2. 重置密码:通过上述链接,用户可以访问一个表单,输入新的密码并确认。一旦提交,新的密码将生效,用户可以...

    Django用户身份验证完成示例代码

    - **PasswordResetView**:允许用户重置其密码,通过电子邮件发送一次性使用的重置链接。 #### 五、实现用户登录与注销功能 为了实现用户登录和注销的功能,需要按照以下步骤进行: 1. **创建新的 app 并配置 ...

    Python-pycharmpython36Django20mysql用户登录与注册系统

    同时,通过邮箱验证可以确保用户提供的信息有效,通常会发送一封带有确认链接的邮件。 3. **登录功能**:用户输入用户名或邮箱和密码,系统会验证这些信息是否匹配数据库中的记录。如果匹配,用户会被认证并创建一...

    django 发送邮件和缓存的实现代码

    概述:Django中内置了邮件发送功能,发送邮件需要使用SMTP服务,常用的免费服务器有:163、126、QQ 注册并登陆163邮箱 打开POP3/SMTP服务与IMAP/SMTP服务 重置授权密码 配置 #邮件发送 EMAIL_BACKEND='django....

    基于Django的旅游网站,用户系统使用第三方插件userena,网站使用H5可以手机端浏览~.zip

    4. 密码管理:用户可以重置忘记的密码,并通过邮件接收验证码进行安全验证。 5. 邮件通知:userena可以发送邮件通知用户关于账户活动的信息,如密码重置请求或新消息。 【响应式设计与HTML5】 网站使用HTML5技术,...

    django-password-reset:基于类的密码重置视图

    Django向他发送一封带有令牌的电子邮件,以重置他的密码 用户选择一个新密码 令牌不是存储在服务器端,而是使用Django的签名功能生成的。 作者:BrunoRenié和 许可证:BSD 兼容性:Django 1.11+ 安装 pip install...

    Django for beginners learn web development with Django 2.0

    - **密码修改与重置(Password Change and Reset)**: 自定义密码修改流程和设计密码重置功能。 - **评论模型(Comments Model)**: 创建一个能被授权用户添加和管理的评论系统。 #### Django的进阶和部署 - **...

    Django发送html邮件的方法

    ### Django发送HTML邮件的方法 在本篇文章中,我们将深入探讨如何使用Django框架发送HTML格式的电子邮件。这对于很多Web应用来说是一项重要的功能,因为它能够帮助开发者以更美观、更具交互性的方式与用户进行沟通...

    django 开发忘记密码通过邮箱找回功能示例

    - 使用`send_register_email`函数发送验证邮件,其中`email`参数为用户邮箱,'forget'参数标识这是忘记密码的邮件。 - 验证邮件通常包含一个唯一的一次性链接,用户点击后才能进行密码重设。 5. **数据库操作**:...

    Django前端模板及crispy form美化等

    - **自定义重置密码**:上面已经提到了如何实现自定义密码重置功能,可以根据具体需求进一步定制邮件模板和URL路径等。 #### 五、总结 本文档系统地介绍了如何在Django项目中使用Crispy Forms结合Bootstrap 4来...

    PyPI 官网下载 | django-user-accounts-3.0.3.tar.gz

    4. 用户登录:实现标准的登录流程,包括记住密码、自动登录等选项。 5. 用户信息管理:允许用户更新个人资料,如电子邮件地址、用户名等。 6. 邮件通知:发送与账户相关的通知,如注册确认、密码重置等。 7. 社交...

Global site tag (gtag.js) - Google Analytics