Django用户名中的Unicode字符

pio*_*kuc 6 python django unicode internationalization django-registration

我正在使用Django 1.4开发一个网站,我使用django-registration进行注册过程.事实证明,不允许Unicode字符作为用户名,只要用户输入例如中文字符作为用户名的一部分,注册就会失败:

该值可能只包含字母,数字和@/./ +/ - /_字符.

是否可以更改它,以便在用户名中允许使用Unicode字符?如果是,我该怎么办?此外,它可以导致任何问题吗?

jas*_*isz 5

这真的不是问题 - 因为这个字符限制只是在我记忆中的UserCreationForm(或django-registration中的RegistrationForm),你可以很容易地创建自己的字段,因为数据库中的字段只是普通的TextField.

但这些限制并非没有理由.我现在可以想到的一个可能的问题是创建链接 - 用户名通常用于此,它可能会导致问题.伪造帐户的可能性也更大,其中用户名看起来相同但实际上是不同的角色等.

  • 我是否告诉过浏览器无处可去?好吧 - 我完全不是在讨论字节码,而是人物的外观以及它对用户来说有多么混乱 - 请告诉我"Аnnа"和"Anna"之间的区别,它们是unicode中完全不同的字符串.很有可能将它用于某种骗局. (5认同)