我添加了一个自定义后端,允许用户使用用户名或电子邮件以及密码登录。除非电子邮件超过30个字符,否则它工作正常。形式的错误,我得到的是:使用电子邮件和密码登录到django站点时,出现30个字符限制错误
"Ensure this value has at most 30 characters (it has 35)."
在一个我我的应用urls.py文件我已经覆盖了用户名字段的MAX_LENGTH这样的:
from django.contrib.auth.forms import AuthenticationForm
AuthenticationForm.base_fields['username'].max_length = 75
我甚至试过这里描述的class_prepared信号技术:
http://stackoverflow.com/questions/2610088/can-djangos-auth-user-username-be-varchar75-how-could-that-be-done/2613385#2613385
我不知道我在哪里出错,我很感谢帮助。
是否已进行了肯定,在数据库的用户名场可容纳字符串长度超过30长:但是,如果你选择我们@Gabriel赫利回答上面,你可以将它通过使用下面的代码传递到登录表单字符?在您运行syncdb并创建表之前,'class_prepare'信号只会有所帮助。 Syncdb从不改变现有表格。 – OmerGertel 2010-11-06 06:09:11