允许使用国际用户名和密码的字符,Django,PostgreSQL

时间:2018-06-25 09:14:51

标签: django validation character utf

我正在一个面向国际的电子商务网站上。我们的第一个目标受众是俄语,之后是讲阿拉伯语的人。

当前,我正在进行帐户注册和登录的输入验证。现在,我想知道我应该在用户名和密码中使用哪些字符。

该网站是使用Django和Django Rest Framework构建的,并使用PostgreSQL作为数据库。补充一下,也许我们对前端使用了React。

对此有何建议?一些(适合初学者使用)帮助初学者在该领域中找到自己的出处的信息将受到赞赏。

谢谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是坚持使用Django的默认值。 Django允许密码中包含任何字符,以及“ [unicode]字母数字,_@+.-字符” {{3} }。

也就是说,也可以在用户名中允许使用更多的字符集。有些人主张根本不允许任何事情。其他人则担心允许的某些可能性(例如看起来相同的不同用户名)。您可以选择对您的网站有意义的任何规则,但是请注意,要选择允许所有“正常”内容同时消除所有“怪异”内容的规则将很困难。

StackOverflow本身就是一个很好的例子。其关于用户名字符的in a username可以防止人们模仿主持人或干扰@提及评论方案。然而结果仍然允许像restrictions这样的怪异事物。