我收到此错误消息,email field
但我使用的是内置的django auth system
. 有没有简单的方法来覆盖它。当用户注册时,电子邮件地址被添加到内置用户系统的内置字段中。
如果可以根据网站的性质将其扩展超过 30 个字符,那就太好了。
我收到此错误消息,email field
但我使用的是内置的django auth system
. 有没有简单的方法来覆盖它。当用户注册时,电子邮件地址被添加到内置用户系统的内置字段中。
如果可以根据网站的性质将其扩展超过 30 个字符,那就太好了。
这是在 Django 中使用电子邮件地址作为用户名的问题之一。很多很多电子邮件都超过 30 个字符。解决此问题的一种常见方法是使用自定义“身份验证后端”进行电子邮件身份验证。使用您自己的后端,您可以根据email
字段而不是username
字段对用户进行身份验证。然后,您可以根据该电子邮件地址或使用随机生成的用户名生成用户名。
您可以在我的博客文章Django Authentication using an Email Address中阅读有关此方法的更多信息。
也许这不是正确的方法,但在我的项目中,我只是增加了南用户电子邮件的大小。样本:
>> ./manage.py schemamigration auth --initial && ./manage migrate auth --fake
然后我添加到models.py:
from django.contrib.auth.models import User
field = User._meta.get_field('email')
field.max_length = 254
field = User._meta.get_field('username')
field.max_length = 254
现在:
>> ./manage.py schemamigration auth --auto
>> ./manage.py migrate auth