2012-09-21 48 views
0

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

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

我有Django的注册安装

+0

参见http://stackoverflow.com/questions/12535157/how-to-fields-to-the-user-model - 你可以*直接将字段添加到数据库表中,但不推荐。 Django的方法是创建一个配置文件模型,正如下面的解释所解释的。 –

回答

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

例如,如果配置文件模型是一个名为用户配置类和应用命名帐户内被定义,相应的设置应为:

AUTH_PROFILE_MODULE = 'accounts.UserProfile' 
+0

还有一个问题,我的视图看起来像访问'accounts.UserProfile.image和描述 – Klanestro

相关问题