2012-09-21 89 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

相關問題