2010-07-06 1 views
5

Django 1.2를 사용하고 있으며 두 개의 사용자 유형 (기업용과 컨설턴트 용)이 필요합니다. 나는 모델에서 객체를 사용하거나 (is_company 또는 is_consultant에 대한 부울과 같은) Django의 그룹을 사용하여이 문제를 더 쉽게 구분할 수 있습니다.) 내가 멍청한 놈이 아니라면별로 문제가되지 않을 것 같아요.)가입 할 때 여러 사용자 유형을 만드는 방법은 무엇입니까?

인증 백엔드에 django-registration을 사용하고 있으며, 각 사용자에 대한 웹 페이지에 별도의 양식이 있습니다. 유형 (회사 대 컨설턴트). 두 경우 모두 거의 동일한 두 가지보기를 만드는 것이 가장 좋다고 생각하지 않으므로 두 가지 유형 중 하나로 가입 한 사용자를 식별/등록하는 것이 가장 좋은 방법인지 궁금합니다.

도움 주셔서 감사합니다.

답변

2

사용자가 등록 할 때 컨설턴트 또는 회사인지 여부를 선택 하시겠습니까? 그렇다면 RegistrationForm을 하위 클래스화한 다음 django 등록 매개 변수에 새 양식을 전달하여 양식을 만들 수 있습니다 (수행 방법은 문서를 참조하십시오).

양식을 서브 클래스 화하고 추가 필드를 추가하려면 당신과 같이 일을 할 것입니다 :

그때부터
from registration.forms import RegistrationForm 

USER_TYPES = (
    ('consultant', 'Consultant'), 
    ('company', 'Company'), 
) 

class MyRegistrationForm(RegistrationForm): 
    user_type = forms.ChoiceField(choices=USER_TYPES) 

, 당신은 신호를 잡아 양식 데이터

당신이 lookign하고 무엇 희망 django-registration has great documentation와 필요에 따라해야한다.

+0

Bartek, 도와 주셔서 감사합니다. 나는 2 개의 signup "길"을 가지고 있기를 바랐다. '컨설턴트, 여기에서 시작하십시오'및 '회사, 시작하기'와 같은 두 개의 버튼이 있지만 ONE VIEW. 나는 각각이 사람을 분리 된 견해로 데려가도록하고 있었다. 이것은 내게 장고 - y를 보이지 않았다. 하나의보기에서 어떤 버튼을 눌렀는지 파악하고이를 기반으로 user_type 또는 그룹을 선택하고 싶습니다. 버튼 값이나 이름을 사용하여 시도해 보았습니다. 요청에서 찾았습니다. 정보가 있지만 찾을 수 없습니다. – Tim

1

POST를 보는 대신 쿼리 문자열에 정보를 전달할 수 있습니다. 하나의 "버튼"(실제로는 링크 일뿐입니다)은 /form?type=consultant으로 연결되고 다른 링크는 /form?type=company으로 연결되고 GET 정보에서 가져올 수 있습니다.