1
대신 환상적인 username
으로 만드십시오. first_name.last_name 형태로 정규화 된 사용자 이름을 사용하는 것이 더 좋을 것입니다.Django : 깨끗한 사용자 이름을 first_name.last_name으로
이 이름
이런 종류의 새 사용자를 작성하는 간단하지만은 포함하지 않는 것을 위해 두 필드를 청소하는 가장 좋은 방법입니다 :
- 공백의 예를 : 테오도르 드 밴빌
- 없는 악센트 예 : 라파엘 LeBlond
- 나는
re
및unidecode
를 사용하여 생각
다른 문제가 문자 :
username = re.sub(r"\s+", "", username).lowercase
username = unidecode(username)
하지만이 한 정도로입니까?
편집 : slugify()
이 무엇을 주로하지만 unidecode()
의 사용은 큰 개선
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
두 번째 존 스미스 (John Smith)가 가입 할 때 어떤 점을 독특하게 만들어야한다는 것을 잊지 마십시오. – Spacedman