在django / django / contrib / auth的models.py中,用户名长度更改为64个字段而不是30个,数据库中的用户名有varchar(64)。但它不允许使用长用户名登录harry@sdsdasfdfdfgdfgdfgdfgdfgdfg.com
如何解决这个问题
class User(models.Model):
"""
Users within the Django authentication system are represented by this model.
Username and password are required. Other fields are optional.
"""
username = models.CharField(_('username'), max_length=64, unique=True, help_text=_("Required. 64 characters or fewer. Letters, numbers and @/./+/-/_ characters"))
答案 0 :(得分:1)
我建议你不要修补Django,而是创建自己的身份验证后端。然后,您可以针对用户的电子邮件进行验证,例如:http://djangosnippets.org/snippets/1845/
答案 1 :(得分:0)
我知道这是一个老问题,但我觉得是时候换新答案,因为自定义用户模型可以说是django 1.5的最佳功能。
从现在开始,可以创建自己的自定义用户模型,并将其与现有的身份验证功能一起使用。最新文档详细介绍了https://docs.djangoproject.com/en/dev/topics/auth/#auth-custom-user。
答案 2 :(得分:-1)
嘿伙计在bitbucket中有一个名为django-registration的漂亮应用程序,我相信你会有一个可能的方法来完成你的任务。如果此链接可以帮助您,请告知我们。 http://bitbucket.org/ubernostrum/django-registration