我正在使用 Python 与 MySQL 数据库进行交互。我有一个允许用户创建帐户的功能。此函数的参数是:全名、电子邮件、密码。
基于这些参数,我想为用户生成一个唯一的用户名。最好的方法是什么?
我是否应该生成一个随机名称列表(使用一些随机函数)然后遍历数组直到找到数据库中找不到的第一个用户名,然后将其分配给用户?或者有更好、更有效的方法吗?
任何帮助将不胜感激。
如果您不需要完全人性化的用户名,那么您最好使用 UUID。您可以使用内置的
uuid
import uuid username = uuid.uuid4() print(username)
生成相同的两个相同 UUID 的可能性在天文数字上是不可能的。因此,您不需要检查它是否已存在于数据库中,但是,这样做也没有坏处。
请不要使用密码作为参数来生成用户名:)
您也可以只让用户选择他们的用户名,但检查它是否已经被占用。