空想の代わりに、私のウェブサイトではfirst_name.last_nameusername
の形式で正規化されたユーザー名を使用する方がよいでしょう。
この種のユーザー名で新しいユーザーを作成するのは簡単です
username = cleaned_data.get('first_name') + "." + cleaned_data.get('name')
しかし、それらが含まれるように両方のフィールドをきれいにする最良の方法は何ですか:
- スペースなし 例: Théodore de Banville
- アクセントなし 例: Raphaël LeBlond
- その他問題のある文字
re
とを使用することを考えました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