如何将字段添加到用户模型

时间:2012-09-21 17:18:12

标签: python django registration django-registration

我希望能够将图片保存到用户甚至是描述,这些可以是可选的,但是如何添加到模型中。我不想进入django的源代码来改变它,我可以覆盖一个模型添加字段,如果是这样的话?

如何在views.py文件中访问这些accounts.UserProfile和accounts.UserProfile.image

我安装了django-registration

1 个答案:

答案 0 :(得分:1)

来自文档:

如果您想存储与您的用户相关的其他信息,Django提供了一种方法来指定特定于站点的相关模型 - 称为“用户配置文件” - 用于此目的。

要使用此功能,请定义一个模型,其中包含您要存储的其他信息的字段,或者您希望提供的其他方法,还要将模型中的OneToOneField命名用户添加到用户模型。这将确保只能为每个用户创建一个模型实例。例如:

from django.contrib.auth.models import User

class UserProfile(models.Model):
    # This field is required.
    user = models.OneToOneField(User)

    # Other fields here
    accepted_eula = models.BooleanField()
    favorite_animal = models.CharField(max_length=20, default="Dragons.")

要表明此模型是给定站点的用户配置文件模型,请使用由以下项组成的字符串填写设置AUTH_PROFILE_MODULE,并用点分隔:

  1. 定义用户配置文件模型的应用程序的名称(区分大小写)(换句话说,传递给manage.py startapp以创建应用程序的名称)。
    1. 模型的名称(不区分大小写)类。
  2. 例如,如果配置文件模型是名为UserProfile的类,并且在名为accounts的应用程序中定义,则适当的设置为:

    AUTH_PROFILE_MODULE = 'accounts.UserProfile'