django第三方模块重置密码

为大家介绍一个django开发的利器,重置密码模块:django-password-reset

使用起来非常方便,但网上的相关资料很少,本人第一次使用,遇到了坑很深,所以特意和大家共享一下。

用django开发网站是个很方便的,并且有大量的第三方模块可以调用,django并没有内置的密码重置功能,一般网站的登陆界面都具有“忘了密码"的链接,django的密码都是加密保存的,所以当忘记了密码,就需要重置密码,按照常用的django开发步骤,需要写几个view函数,和模板页面,并需要大量的配置,但可以借用第三方模块,非常方便。

django-password-reset 的英文文档链接: http://django-password-reset.readthedocs.io/en/latest/        

上图是文档中的,安装上图操作,只能完成20%,剩下的都是深坑。第三部的是个输入表单的链接,可以将他嵌入你的登陆页面。

不懂得可以留言。

  下载安装django-password-reset   

             本人使用的是python3自带的pip安装的(本人也写了一篇关于pip的使用的文章,可以查看    http://blog.csdn.net/douzhenwen/article/details/78932074)。

             大家也可以从github上下载源码,然后放在python/lib/site-packages下

             django-password-reset的源码结构如下:

                               

由于版本更迭的问题,需要将views中的第八行改为  from django.urls import reverse, reverse_lazy 

然后就是配置文件中的setting

EMAIL_HOST = 'smtp.139.com'
EMAIL_HOST_USER = "iamlory@139.com"  
EMAIL_HOST_PASSWORD='*************' #密码
EMAIL_PORT = 25
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "iamlory@139.com"
EMAIL_BACKEND= "django.core.mail.backends.smtp.EmailBackend"

有些教程将上图最后的EAMIL_BACKEND给为让在终端输出邮件命令,但不会再邮箱中收到,

即改为       

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

相应的邮箱,需要配置相应邮箱服务器的端口,和服务器,139邮箱的端口为25,服务器为smtp.139.com

qq邮箱的端口好像也是25  服务器为:smtp.qq.com  由于qq邮箱发送邮件需要授权码,所以可以在网上自行搜一下,将EMAIL_HOST_PASSWORD改为16位授权码,并改变相应端口和服务器即可,建议还是使用其他邮箱。

将图一中,第三步的链接放入一个网页中,做成按钮或链接。点击后将进入发送界面:

注意一下我的搜索栏的地址,如果你不将图一中第三步的链接嵌入页面使用,也可直接使用上图中搜索栏中的地址,

记得username或email必须数据库中具有,然后点击按钮即可

然后去邮箱中,邮件中有个链接,就是重置密码的链接

点击链接,进入页面

如果嫌弃页面和自己网站的风格不一致可在django-password-reset下的templates更改


扫码关注微信公众号:菜鸟阿都

                                                             

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Django提供了许多内置的功能模块,这些模块可以帮助开发者更高效地构建Web应用程序。以下是一些常用的Django内置功能模块: 1. django.contrib.admin:提供了一个自动生成的管理后台界面,用于管理和操作数据库中的模型数据。 2. django.contrib.auth:提供了用户认证和授权相关的功能,包括用户注册、登录、注销、密码重置等。 3. django.contrib.sessions:提供了会话管理功能,用于跟踪用户的会话状态。 4. django.contrib.messages:提供了消息传递功能,用于在请求之间传递临时消息。 5. django.contrib.staticfiles:用于管理和提供静态文件(如CSS、JavaScript、图像等)。 6. django.contrib.sitemaps:用于生成网站地图,方便搜索引擎抓取和索引网站内容。 7. django.contrib.gis:提供了地理信息系统(GIS)相关的功能,包括地理数据模型和查询。 8. django.contrib.contenttypes:提供了动态内容类型的支持,允许在运行时创建新的模型类型。 9. django.contrib.redirects:用于管理URL重定向规则,可以将一个URL重定向到另一个URL。 10. django.contrib.humanize:提供了一些人性化的过滤器和标签,用于格式化数据(如日期、时间、文件大小等)。 除了以上提到的模块Django还提供了很多其他的内置功能模块,涵盖了从视图、表单、模板、数据库等方面的功能。开发者可以根据需求选择和使用这些内置功能模块,以提高开发效率和代码质量。同时,Django也支持通过第三方插件来扩展和增强功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值