Как сделать многопользовательские типы когда регистрация?

Я использую Django 1.2, и я хочу иметь два пользовательских типа (один для компаний и один для консультантов). Я буду или использовать объект в своей модели (что-то как булевская переменная для is_company или is_consultant) или группы Django для различения их - в зависимости от которого легче для этой проблемы. Я предполагаю, что это не была бы большая часть проблемы, если бы я не был общим новичком ;)

Я использую django-регистрацию для своего бэкенда аутентификации, и у меня будет отдельная форма на моей веб-странице для каждого пользовательского типа (компания по сравнению с консультантом). Я не думаю, лучше создавать два различных взглядов, которые почти идентичны для этих двух случаев, таким образом, я задаюсь вопросом, что лучший способ состоит в том, чтобы определять/регистрировать пользователей, которые зарегистрировались как любой из двух типов.

Спасибо за помощь.

5
задан Tim 6 July 2010 в 19:13
поделиться

1 ответ

Хотите, чтобы пользователь при регистрации выбирал, является ли он консультантом или компанией? Если это так, вы можете создать свою собственную форму, создав подкласс RegistrationForm , а затем передав новую форму в параметры для django-registration (прочтите документ о том, как это сделать.)

Чтобы создать подкласс формы и добавьте дополнительное поле, вы бы сделали что-то вроде этого:

from registration.forms import RegistrationForm

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

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

С этого момента вы должны поймать сигнал и сделать все, что вам нужно, с данными формы django-registration имеет отличную документацию

Надеюсь, это то, что вы искали для.

2
ответ дан 15 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: