我想創建一個項目,每個用戶都可以擁有自己的「主頁」。所以我希望能夠爲每個用戶設置一個模板並在他的主頁上顯示它。我是否將模板名稱保存在用戶配置文件中並將其傳遞給模板加載器,或者是否有更好/更安全/更易插入的方法來執行此操作?如何在Django中通過url定義模板?
0
A
回答
1
聽起來像你想讓用戶拿起他/她最喜歡的模板,並設置喜好,如背景圖像,顯示風格等一堆?如果是這樣,你的解決方案是好的。實際上,您允許用戶在提供的(和可擴展的)模板集中進行選擇,而不是讓他們完全控制要使用的模板。
此外,對於僅用於每個用戶的偏好設置。您可能希望將它們保存在序列化字段(如jsonfield或picklefield)中,而不是按列存儲它們。我正在編寫一個應用程序來簡化這些字段的編輯。
1
將模板名稱保存在用戶配置文件中沒有問題。就像你說的,你可以將它傳遞給模板渲染方法。
但注意一件事:用戶不應該能夠手動輸入模板名稱。我認爲,它應該是安全原因的選擇領域。請參閱https://docs.djangoproject.com/en/1.4/ref/models/fields/#choices的末尾,您可以使模板選擇列表變爲動態。
相關問題
- 1. django通過自定義模板標籤訪問模板塊
- 2. 如何在Django模板中集中URL?
- 3. 如何在模板中使用Django自定義模板標籤?
- 4. 通過模板定義main()
- 5. Django的:自定義模板過濾
- 6. 不能通過模型的對象在Django自定義模板過濾器
- 7. 如何在django模板中跳過{{或}}?
- 8. 在Django模板中自定義ClearableFileInput
- 9. 通過Django模板循環
- 10. Django的模板 - 自定義模板標籤通過2個變量
- 11. Django通過模板變量自定義templatetag
- 12. 自定義404 django模板
- 13. 自定義模板Django Formwizard
- 14. 如何通過模板在django中將值傳遞給templatetag
- 15. 在Django中使用自定義模板過濾器
- 16. Django - 無法在模板中加載自定義過濾器
- 17. 如何將Django模板中的多個參數傳遞給通過URL查看?
- 18. 如何在Django中模擬多個url定義?
- 19. 將{%url%}傳遞給Django中的自定義模板標籤
- 20. 如何在Django中測試自定義模板標籤?
- 21. 如何在django的模板自定義標籤中訪問request.META?
- 22. 如何在django-cms中自定義菜單模板?
- 23. 如何在Django中發現自定義模板標籤
- 24. 在Django模板中通過靜態定製圖像
- 25. WordPress如何在自定義插件中創建模板和url
- 26. 通過CSV串在Django模板循環
- 27. 循環通過列表在Django模板
- 28. 解碼JSON,並通過在Django模板
- 29. 如何定義自定義過濾器以最小化django模板的使用?
- 30. Django通用模板URL參考
模板之間有什麼區別?它是否可改變?由誰? – okm 2012-04-23 12:22:14
區別主要是光學。不同的css,也許不同的圖像大小和不同的導航等等。我希望用戶能夠通過下拉菜單在模板之間進行選擇。但是能夠很容易地擴展模板的數量對我來說很重要。 – JasonTS 2012-04-23 12:24:48
您可以將標題更改爲「如何根據用戶使用不同的模板」嗎?這有點更清楚。 – 2012-04-23 13:23:15