我对 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/