一个Django项目,多个Settings.py

时间:2014-11-21 22:56:03

标签: django authentication django-models

最近我要开发一个带有电子商务模块的CRM系统。由于客户只登录电子商务网站(使用电子邮件登录),员工只登录CRM,

我想分开这两种身份验证模型。有两组settings.py是一个好主意,一组使用员工AUTH_USER_MODEL,另一组使用客户AUTH_USER_MODEL? (也许单独urls.py)

我将在两个子路径或两个域下运行两个不同的app设置,这会导致任何问题吗? (就像并发问题一样?)

1 个答案:

答案 0 :(得分:1)

你不需要为此目的设置两个AUTH_USER_MODEL = 'myapp.MyUser'或两个设置,这可能会有效,但这不是这个逻辑所属的级别。 (设置已处于部署级别,例如在相同的代码库和相同的数据库等上运行多个网站等等。)

我建议的是简单的事情:

# settings.py
AUTH_USER_MODEL = 'yourapp.CustomUser'

# yourapp's models.lpy
from django.contrib.auth.models import User
class CustomUser(models.Model):
    user = models.OneToOneField(User, related_name="customuser")
    crm_staff = models.Boolean(default=False)
    # ...

并且取决于crm_staff,用户是crm-user或者只是外部用户。我将crm_staff的默认值设置为False,因此每次有新用户进入时都必须明确指定,但只有当用户是crm人员时,才需要将字段设置为True

尽量保持简单,你要感谢你自己以后......