장고(Django) 사용자이름 표기(get_full_name) :: 2010/02/12 15:48매우 간단한 것이지만, 요즘 블로그도 넘 뜸하고, 자꾸 써봐야 할것도 같고 해서 포스팅.
기본장착된 장고(Django) 사용자모델 Django.contrib.auth 의 get_full_name 메쏘드는 사용자의 이름(first_name) 과 성(last_name) 을 공백으로 연결한 결과를 돌려준다. 해서, "Hyungyong Kim" 처럼 결과를 볼 수 있다. (난 영문이름은 이렇게 써야한다고 본다. 영어식 이름표기의 개선이 필요한 이유 참고) 문제는 한글로 성과 이름을 등록한 회원인 경우인데, 성이 "이" 이고 이름이 "개똥" 이면, "개똥 이" 라고 표기되고 이것이 보기 좀 머시기 하다. 이런 경우 가장 깔끔한 방법은 이름을 한글로 적었는가를 직접 확인하고 바꿔주는 것이 좋다. (request.LANGUAGE 이런걸 확인해봐야 도움이 안된다.) import re 저렇게 놓고 이름목록을 출력하면 보기 좋긴하나 first_name 으로 정렬한 경우, "성"이 아닌 "이름"으로 정렬되기 때문에 정렬안한것 처럼 보인다. (모 아이폰 어플의 연락처도 비슷한 문제가 있던 듯.) 그렇다고 last_name 으로 정렬하면 또 영문등록된 이름이 정렬 안한것 처럼 보인다. 그렇다면 정렬도 나눠서 따로 하고 다시 합치는 방식을 쓰면 된다. class MyUserManager(models.Manager): 위 manager를 붙여서 쓰면 쿼리셋으로 계속 사용할 수 있다는 장점까지. Trackback Address :: http://yong27.biohackers.net/trackback/364
|
||