django - 何时在 Django 1.5 中使用自定义用户模型

标签 django django-1.5

我对 Django 1.5 中的自定义用户模型有疑问

所以现在默认的用户模型对我来说看起来很好,我只需要添加一些其他变量,例如性别,位置和生日,以便用户在成功注册和激活他们的帐户后可以填写这些变量。

那么,实现这种场景的最佳方法是什么?

我是否必须创建一个名为 Profile 的新应用程序并继承 AbstractBaseUser?并将我的自定义变量添加到models.py?有什么好榜样让我效仿?

先感谢您

最佳答案

您想将您的用户模型扩展到 AbstractUser并添加您的其他字段。 AbstractUser继承所有标准用户配置文件字段,而 AbstractBaseUser无需任何这些字段即可从头开始。

很难在接近发布时定义最佳实践,但似乎除非您需要彻底重新定义 User 模型,否则您应该使用 AbstractUser在可能的情况。

Here are the docs for extending the User model using AbstractUser

您的 models.py然后看起来像这样:

class MyUser(AbstractUser):
    gender = models.DateField()
    location = models.CharField()
    birthday = models.CharField()
MyUser然后将拥有 User 模型附带的标准电子邮件、密码、用户名等字段,以及上面的三个附加字段。

然后你需要添加AUTH_USER_MODEL给您的 settings.py :
AUTH_USER_MODEL = 'myapp.MyUser'

关于django - 何时在 Django 1.5 中使用自定义用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15123596/

相关文章:

python - 有哪些常用技术可以确保 TemplateView 的 get_context_data 中的代码逻辑被执行一次?

django - 在 Django 1.5 中验证自定义用户

Dreamhost 上的 Django 1.5 - 未找到静态文件,出现 404 错误

django 计算查询中相同字段值的最有效方法

python - 如何验证 django 设置是否正确应用?

django - 是否建议升级到 Django 1.5?

django - Azure 部署未在 repo 中获取 SSL 证书

python - 将 Matplotlib 与 Django 结合使用

python - 安装 askbot 后 Django 应用程序未运行