注册时如何制作多种用户类型?

Tim*_*Tim 5 django django-registration

我正在使用Django 1.2,我希望有两种用户类型(一种用于公司,一种用于顾问).我将在我的模型中使用一个对象(类似于is_company或is_consultant的布尔值)或Django的组来区分它们 - 这取决于哪个更容易解决这个问题.我想如果我不是一个总菜鸟那就不会有什么问题;)

我正在使用django-registration作为我的身份验证后端,我将在我的网页上为每个用户类型(公司与顾问)分别创建一个表单.我不认为最好创建两个不同的视图,这两个视图几乎完全相同,所以我想知道最好的方法是识别/注册注册为两种类型之一的用户.

谢谢你的帮助.

Bar*_*tek 2

您希望用户在注册时选择是顾问还是公司?如果是这样,您可以通过子类化创建自己的表单RegistrationForm,然后将新表单传递到 django-registration 的参数中(阅读有关如何执行此操作的文档。)

要子类化表单并添加附加字段,您可以执行如下操作:

from registration.forms import RegistrationForm

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

class MyRegistrationForm(RegistrationForm):
     user_type = forms.ChoiceField(choices=USER_TYPES)
Run Code Online (Sandbox Code Playgroud)

从那时起,您应该捕获信号并按照您需要的表单数据进行操作django-registration 有很好的文档

希望这就是您所寻找的。