username
我的网站最好使用first_name.last_name形式的规范化用户名,而不是花哨。
使用这种用户名创建新用户很简单
username = cleaned_data.get('first_name') + "." + cleaned_data.get('name')
但是清理这两个字段以使其包含的最佳方法是:
- 没有空格 ex: Théodore de Banville
- 没有口音前:Raphaël LeBlond
- 任何其他有问题的字符
我想过使用re
and unidecode
:
username = re.sub(r"\s+", "", username).lowercase
username = unidecode(username)
但这足够了吗?
编辑:这是我目前的解决方案:
fname = unicode(self.cleaned_data['first_name'])
fname = unidecode(fname)
fname = slugify(fname)
name = unicode(self.cleaned_data['last_name'])
name = unidecode(name)
name = slugify(name)
username = fname + "." + name