0

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

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

我安装了 django-registration

4

1 回答 1

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. 模型(不区分大小写)类的名称。

例如,如果配置文件模型是一个名为 UserProfile 的类,并在名为 accounts 的应用程序中定义,则适当的设置为:

AUTH_PROFILE_MODULE = 'accounts.UserProfile'
于 2012-09-21T17:21:15.967 回答