Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 自定义django注册的错误消息_Python_Django_Django Registration - Fatal编程技术网

Python 自定义django注册的错误消息

Python 自定义django注册的错误消息,python,django,django-registration,Python,Django,Django Registration,我有一个关于django registration()的问题,但我找不到他们的问题跟踪程序或邮件列表,所以我在这里试试运气 我的应用程序支持通过OpenID和登录/密码登录 一些用户在上尝试重置FS上的“忘记密码()”,但随后收到消息: 与此电子邮件地址关联的用户帐户无法重置密码 没有进一步的解释。 (你可以尝试重置我的密码-只需在那里键入我的电子邮件(gmail.com的tonylampada)即可查看错误消息 我想自定义该消息。更好的消息是: 与此电子邮件地址关联的用户帐户无法重置密码。 这

我有一个关于django registration()的问题,但我找不到他们的问题跟踪程序或邮件列表,所以我在这里试试运气

我的应用程序支持通过OpenID和登录/密码登录

一些用户在上尝试重置FS上的“忘记密码()”,但随后收到消息:

与此电子邮件地址关联的用户帐户无法重置密码

没有进一步的解释。 (你可以尝试重置我的密码-只需在那里键入我的电子邮件(gmail.com的tonylampada)即可查看错误消息

我想自定义该消息。更好的消息是:

与此电子邮件地址关联的用户帐户无法重置密码。 这是因为用户帐户是使用OpenID或OAuth提供商(特别是Google、Facebook、MyOpenID等)创建的。 要查看与此帐户关联的登录提供程序,请查看

告诉django的最简单方法是什么

谢谢


注:Github上的这个问题:(以防您今天想要发出请求:-)

django注册使用来自
django.contrib.auth的视图

在这种情况下:
reset\u password()

因为这不是基于类的视图,所以不能重写/继承它,但可以从django.contrib.auth.forms传入PasswordResetForm

from django.contrib.auth.forms import PasswordResetForm

class CustomResetForm(PasswordResetForm):

       def validate(self, value):
            #pseudocode
            if user.cant_reset_pw:
               raise ValidationError("The user account associated with this e-mail address cannot reset the password. and so forth..")

            super(CustomResetForm, self).validate(value)
您必须通过重写url
r'^password/change/$”
来将内容连接在一起,以指向一个自定义函数,该函数使用
CustomResetForm
调用
django.contrib.auth.passwort\u reset()