5

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

我将 django-registration 用于我的身份验证后端,并且我的网页上将为每种用户类型(公司与顾问)提供一个单独的表单。我不认为最好为这两种情况创建两个几乎相同的不同视图,所以我想知道最好的方法是识别/注册注册为两种类型中的任何一种的用户。

谢谢你的帮助。

4

2 回答 2

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)

从那时起,您应该捕捉信号并根据需要使用表单数据django-registration 有很好的文档

希望这就是你要找的。

于 2010-07-06T20:16:29.263 回答
1

您可以在查询字符串中传递信息,而不是查看 POST。所以一个“按钮”(实际上只是一个链接)链接到/form?type=consultant,另一个链接到/form?type=company然后你可以从 GET 信息中获取它

于 2011-03-15T16:17:10.613 回答