django - 注册时如何设置多种用户类型?

标签 django django-registration

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

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

谢谢你的帮助。

最佳答案

您希望用户在注册时选择他们是顾问还是公司?如果是这样,您可以通过继承 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 has great documentation

希望这就是你要找的。

关于django - 注册时如何设置多种用户类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3189437/

相关文章:

python - Django Sql Server 配置不正确 - settings.DATABASES

mysql - 使用内容类型 (object_pk) 创建通用关系时出错

Django注册SMTPServerDisconnected错误

django - 注册表单唯一邮箱

python - NoReverseMatch 在/论坛/

python - 如何在 django 中检查 BASE_DIR?

django - Django 1.3.1编译消息。错误:sh:msgfmt:找不到命令

python - django模型过滤字段的字段

Django 登录、注销 URL 和当前用户名

django - 注册用户后重定向到页面