使用Django建议随机可用用户名如gmail的最佳方式

时间:2016-02-24 01:00:33

标签: python django postgresql

只是想知道,在用户输入的用户名不可用后,建议随机可用用户名的理想方式是什么。

当用户键入特定用户名时,我的应用程序将检查数据库中的相同内容(使用PostgreSQL和Django)并返回错误。然后我想建议一些可用的用户名。此时,我将有以下数据:

User FirstName (optional)
User LastName (optional)
User keyed-in desired username (Which is not available)
User email-id or social username
Might have someother info like address.

现在,我可以根据以上可用变量轻松生成一些随机ID,但是每次我需要检查数据库输出是否合适?这样做的理想方式是什么?例如,对于拥有FN的LN用户而言,我不应该建议同一组用户名!

谢谢!

1 个答案:

答案 0 :(得分:0)

由于您只需要很少生成此建议的用户名列表(每次尝试导致一次碰撞),您可以非常轻松地检查生成的建议值对数据库,并从结果中排除已存在的那些。 / p>

或者,由于我猜测您的网站不会有数百万用户,因此您可以放弃进行此项检查,因为一小部分用户的用户名冲突可能性非常低,并且碰撞的结果很烦人,但对用户体验并不致命。