我的网站有两种用户类型,客户和专业人士。还有两个“主模块”,一个是供客户购买商品等使用的主站点,另一个是供专业人士管理操作的管理站点。对于身份验证,我希望有以下功能:
我还加入了django-allauth来管理用户注册和认证。但现在我卡住了。我刚开始玩Django/Python,不确定如何解决这个问题。
看起来没有官方推荐的方法来做这件事(使用Django 1.5实现多个用户类型)。我应该坚持子类化方法,还是应该按照文档中指出的OnetoOne关系?
一旦我正确设置了模型,我应该如何处理这两个注册表格?是否可以使用django-allauth完成这项工作,还是需要手动完成?
据我所知,当新用户注册时,在User表中创建一个新的基本用户。但由于我将创建用户专业化(客户端或专业人员),因此我应该如何指定我还想在相应的表中创建与客户或专业人员相关的数据?
- 一个单一的“登录”表单,可以检测用户是客户还是专业人士,并将其转发到正确的模块(主站点或管理站点)。
- 两个“注册”表单,一个是为客户设计的,另一个是为专业人士设计的。可能,网站会询问用户是否要注册为专业人士或客户,以触发每种情况下的正确注册流程。
- 客户将使用“主站点”,不应被授权使用“管理站点”。
- 专业人士将使用“管理站点”,但不应被授权登录到主站点。
- 专业人士和客户都将被注册为用户,并共享通用字段,例如用户名、电话、电子邮件等。
class BaseUser(AbstractBaseUser):
...
class Client(BaseUser):
...
class Professional(BaseUser):
...
我还将AUTH_USER_MODEL
设置更改为:
AUTH_USER_MODEL = 'myapp.BaseUser'
我还加入了django-allauth来管理用户注册和认证。但现在我卡住了。我刚开始玩Django/Python,不确定如何解决这个问题。
看起来没有官方推荐的方法来做这件事(使用Django 1.5实现多个用户类型)。我应该坚持子类化方法,还是应该按照文档中指出的OnetoOne关系?
一旦我正确设置了模型,我应该如何处理这两个注册表格?是否可以使用django-allauth完成这项工作,还是需要手动完成?
据我所知,当新用户注册时,在User表中创建一个新的基本用户。但由于我将创建用户专业化(客户端或专业人员),因此我应该如何指定我还想在相应的表中创建与客户或专业人员相关的数据?
我对Django还很陌生,所以任何建议都会有帮助