2013-10-16 2 views
1

내가 장고에 새로운 오전과 새로운 사용자에 대해이 단계를 필요로하는 소셜 네트워킹 사이트 구축을 위해 노력 :장고 등록 또는 장고 승인?

채우기 등록 양식을 -> 일부 프로필 양식을 기입 -> 이메일에서 계정을 확인 ->

핍 사용 Django 1.5.4가 설치되었습니다.

내 질문 :이 시나리오의 경우 Django-registraion 또는 기본 Django-auth 또는 다른 모듈을 사용해야합니까? 추천 할만한 옵션과 그 이유는 무엇입니까?

답변

1

정말 원하는 수준의 맞춤 설정에 달려 있습니다.

등록 양식은 다른 장고 프로젝트 중에서 반복되는 작업처럼 보일 수 있으며 대부분의 등록 프로세스에는 동일한 기본 단계가 필요하다고 생각됩니다. 그러나 다른 프로젝트의 경우 특정 단계를 확장하거나 제외해야 할 수 있습니다. 이것은 거의 모든 내 프로젝트에 대한 작동

def register(request): 
    if request.method == 'POST': 
     register_form = RegisterForm(request.POST) 
     if register_form.is_valid(): 
      data = register_form.data 

      # create user 
      user = User.objects.create_user(
       username=data.get('username'), 
       email=data.get('email'), 
       password=data.get('password'), 
      ) 

      if user is not None: 
       auth = authenticate(username=data.get('username'), password=data.get('password')) 
       login(request, auth) 

       messages.success(request, _('Your new user has been created.')) 
       return redirect(reverse('home')) 
      else: 
       messages.error(request, _('Oops! Error.')) 
    else: 
     register_form = RegisterForm() 

    return render(request, 'accounts/register.html') 

:

내가 등록을 사용하는 뷰의 예입니다. RegisterForm에는 모든 마법이 있습니다.

+0

저는 주로 교육 목적으로 승인을 사용하는 것을 선호합니다. 이메일을 통해 등록 확인을 관리하는 것이 조금 걱정 스럽습니다. 어떻게 그걸합니까? – supermario

+0

여러 가지 방법이 있습니다. 사용자에게 OneToOne 필드가 있고 확인 키가 들어있는 다른 필드가있는 모델을 만들 수 있습니다. 내 답변의 '등록'보기에서 확인 모델의 새 인스턴스를 만들고 확인 링크를 사용하여 사용자에게 이메일을 보내십시오. 뷰와 URL을 만들어 모델의 키를 확인한 다음 나머지 작업을 수행하십시오. 다른 방법은 키를 캐싱하고 모델/테이블을 피하는 것입니다. – abstractpaper

0

django-allauth는 상당히 완벽한 해결책입니다. 소셜 로그인 및 통합 기능에 관심이 없더라도 사용자 등록, 프로필, 전자 메일 유효성 검사 등을 매우 쉽게 처리 할 수 ​​있습니다.