django xadmin中用户自己发送邮件重置密码报错汇总
老眼 2018-02-04 17:28:37
分 享


说明本文以django2.0中的报错说明为例


1、点击django xadmin密码重置发送邮件无反应


解决方法


需要你在django 的settings.py中配置发送邮件的信息(把如下添加的末尾)


#邮件配置  

EMAIL_HOST = 'smtp.lybbn.com'                   #SMTP地址  

EMAIL_PORT = 25                                 #SMTP端口 

DEFAULT_FROM_EMAIL = 'lybbn@lybbn.com'       #用户收到邮件显示的邮箱

EMAIL_HOST_USER = 'lybbn@lybbn.com'       #我自己的邮箱  

EMAIL_HOST_PASSWORD = '******'                  #我的邮箱密码  

EMAIL_SUBJECT_PREFIX = u'[lybbn]'            #为邮件Subject-line前缀,默认是'[django]'  

EMAIL_USE_TLS = True                             #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false  

#管理员站点  

SERVER_EMAIL = 'lybbn@qq.com'           


2、django xadmin中重置密码输入邮件没有验证是否存在数据库中,而直接发送任意邮件


解决方法


修改xadmin的插件passwords.py中进行一道判断


第37行添加判断

email = form.cleaned_data['email']

from django.contrib.auth.models import User

if User.objects.filter(email=email):

    ....

    ....

else:

    return self.get(request,form=form)


3、 password_reset_confirm() got an unexpected keyword argument 'current_app'


解决方法


django 1.10及以后的Templatesponse 移除了current_app,所以在xadmin也做删除了

在xadmin\plugins\passwords.py中第82行删掉current_app这个变量



本文属原创文章,转载请注明来自(www.lybbn.cn-老眼帮帮你)

吐槽一下

游客

所有吐槽
  • 暂时还没有吐槽,赶紧来吐槽!