2011-12-14 1 views
1

좀 특이한 검증 요구 사항을 장고 1.3 기반의 사용자 등록 시스템 작업입니다. 난 장고 등록의 현재 지점을 나의 출발점으로 사용하고있다. 그는 등록 할 때동일한 작업을 수행하는 변형 방법을 처리하는 가장 Python적인 방법은 무엇입니까?

나는 (오른쪽, 대만족?) 이메일 사용자에게 전송해야 장고 등록에서 처리. 사용자는 해시가있는 링크를 클릭하여 활성화해야합니다. django-registration에서 처리합니다.

지금까지, 사소한.

이제 사용자가 계정을 활성화 할 때 전자 메일 도메인을 알려진 도메인 목록과 비교하고 해당 도메인을 기반으로 그룹 구성원 자격을 부여해야합니다.

사용자는 알 수없는 이메일 도메인을 사용하고 나중에 이메일 도메인, 학생 ID/이름 목록 또는 1 개 또는 모든 해시 코드로 확인하여 나중에 그룹에 가입 할 수 있어야합니다.

그래서, 사용자가 그룹에 가입하도록 허용되어야 함을 확인하는 4 개 독특한 방법이 있습니다

  • 이메일 도메인 (활성화) 학생 ID 번호/이름에 대한
  • 검사는
  • 검사를 나열 단일 생성 된 임의의 해시에 대해 여러 사람
작동 해시에 대해 목록에서
  • 검사를 해시를 제거개

    분명히 모델은 다른 검증 방법뿐만 아니라 코드에 대해 서로 다른 것입니다. 나는 이것을 "어려운 방법"으로 코드화하는 방법을 알고 있지만 공통점을 포함하는 일종의 "유효성 검사"구조를 원하는 것처럼 냄새를 맡는다. 나는 여기서 좋은, 확장 할 수있는 접근법을 찾고 있는데, 나는 조금 길다.

    감사합니다. 이 것 할

  • 답변

    3

    한 가지 방법 :

    • 사용 django.contrib.auth.models.Group 당신이 이메일에 따라 그룹에 사용자를 추가 할 경우
    • User 객체 생성에 signal을 등록 각 도메인에 대한 Group를 만들기 위해 사용자 프로필 페이지에서 도메인 이름이
    • 인 경우 사용자가 임의로 그룹에 가입 할 수 있습니다.
    +0

    'signal'은 (는) 올바른 단어 임 imho – lig

    +0

    확실히 내 그룹에 auth.group을 사용하고 있습니다. 신호를 구독하는 방법이 여기에있는 것 같습니다. 감사. –