2010-12-12 5 views
1

대신 환상적인 username으로 만드십시오. first_name.last_name 형태로 정규화 된 사용자 이름을 사용하는 것이 더 좋을 것입니다.Django : 깨끗한 사용자 이름을 first_name.last_name으로

이 이름

이런 종류의 새 사용자를 작성하는 간단하지만은 포함하지 않는 것을 위해 두 필드를 청소하는 가장 좋은 방법입니다 :

  1. 공백의 예를 : 테오도르 드 밴빌
  2. 없는 악센트 예 : 라파엘 LeBlond
  3. 나는 reunidecode를 사용하여 생각

다른 문제가 문자 :

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 
+0

두 번째 존 스미스 (John Smith)가 가입 할 때 어떤 점을 독특하게 만들어야한다는 것을 잊지 마십시오. – Spacedman

답변

1

: 여기에 내 현재의 솔루션입니다. 유일한 변화는 먼저 unidecode()을 적용한 다음 공백을 제거하는 것입니다.

관련 문제