2009-12-01 24 views
0

我在Django中爲iPhone應用程序提供了一個簡單的webapp。 我想提醒用戶查看我們的產品,但只需要一次。然後我不想再次顯示提示。在Django中設置和使用針對用戶配置文件模型的標誌

所以會執行這是添加新條目到用戶配置文件模型與bolean領域的最佳實踐方法:「審查」 - 然後當用戶完成操作設置該標誌?

然後,我會檢查我的模板中的條目,並顯示或不顯示提示。

我還沒有與數據庫模型的工作,延長了用戶模型,或保存到自定義的數據庫字段,所以有這方面的想法或例子將是最歡迎的。我有點緊張,因爲我的網站有活着的用戶,我不想破壞用戶表。

回答

1

如果你正在使用MySQL或PostgreSQL,你可以做一些ALTER TABLE而不會丟失任何數據。

在Django中,爲用戶添加配置文件非常簡單。 確保,創建配置文件,如果不存在的話:

try: 
    profile = request.user.get_profile() 
except UserProfile.DoesNotExist: 
    # If DoesNotExists, Create an empty one 
    profile = UserProfile(user=request.user) 
    profile.save() 

點擊此處瞭解詳情:

+0

感謝Natim - 我實際上已經有一個配置文件(我正在使用可重複使用的應用程序django-basic-profiles),但是我很困惑,如果我應該在這裏添加這個布爾字段,在其他地方以及它的_right_事情。 – 2009-12-01 02:04:33

+0

如果只有一個,我會在這裏添加布爾值。如果將來需要其他標誌,最好的方法是創建一個帶有名稱和一個ManyToManyField(用戶)的模型「標誌」。如果標誌和用戶之間存在鏈接,則爲真,否則爲False。 – Natim 2009-12-01 02:16:52

+0

使用此方法時,當我執行syncdb時,該標誌是否會應用於系統中的當前用戶,還是我需要使用類似django-evolution的東西來完成此操作? – 2009-12-01 05:09:51

0

有很多種方法可以做到這一點。我建議如下:

Django有一個消息框架,通過設計構建,當軟件創建消息時只向用戶顯示一次消息。每當X被創建/修改/刪除等,你可以通過User.message_set.create(message ='不管你喜歡')添加消息給用戶。這將向用戶顯示一次。這依賴於django會話,我認爲你使用的是因爲你依賴於內置的用戶模型。這些消息存儲在auth_message中。

HTH

+0

但我怎麼會只設置此消息一次,我將在哪裏存儲該標誌? – 2009-12-01 01:37:15

+2

我不認爲auth_message是爲此目的。 – Natim 2009-12-01 01:47:29

相關問題