2010-04-27 7 views
1

django에 새로운 점이 있으며 유효성 검사가 거의 필요없는 사용자 등록 양식을 만들려고합니다. 이 외에도 사용자가 등록하려고 시도하고있는 사용자 이름을 사용할 수 있는지 또는 이미 사용 중인지 사용자에게 알리는 사용자 이름 제안 코드가 필요합니다. 그런 다음 선택할 수있는 몇 가지 제안을 제공해야합니다. 동일하거나 다소 동일한 프로젝트에서 일한 사람이 나를 도와 줄 수 있습니까?Django Forms Help needed

감사

답변

1

체크 아웃 django-registration 응용 프로그램을. 그리고 클래스 registration.forms.RegistrationForm과 메소드 clean_username을 살펴보십시오.

일부 사용자 이름을 제안하는 양식을 쉽게 확장 할 수 있어야합니다. 여기

번호가 포스트 픽스와 고유 한 사용자 이름을 생성하기 위해 몇 가지 예제 코드입니다 :

username # filled with user input or first/lastname etc. 

    #check for other profile with equal names (and those with a postfix) 
    others = [int(username.replace(name, "0")) 
       for p in User.objects.filter(username__startswith=username).exclude(user=self.user) 
       if username.replace(name, "0").isdigit()] 

    #do we need a postfix 
    if len(others) > 0 and 0 in others: 
     username = "%s%d" % (username, max(others) + 1) 

당신이 생성 된 양식 선택 필드에서 이름을 채울 수 : 정말 감사 그 정보를 http://docs.djangoproject.com/en/dev/ref/forms/fields/#choicefield

+0

안녕 maersu, 감사합니다 그. 그 응용 프로그램을 설치하고 당신이 나를 도울 수있는 몇 가지 문제로 일하고 있습니다. 나는 일부 사용자 이름 부분을 제안하는 것을 계속합니다. u가 저를 위해 무엇을해야하는지 도와 줄 수 있습니까 – itsandy

+0

저는 제 대답을 업데이트했습니다. BTW : 내 의견을 http://stackoverflow.com/questions/2719452/django-forms-help-needed/ – maersu

+0

안녕하세요 Maersu, 번호 접미사가있는 사용자 이름을 생성하도록 제공 한 샘플 코드를 추가하고 def clean_username (self) : 다른 모든 검증에서. 내가 틀렸거나 다른 곳으로 가야한다면 나를 바로 잡으십시오. 감사합니다. – itsandy