我有一個Django項目,其中註冊了幾個應用程序。他們每個人都呈現自己的模板,所有這些擴展了相同的基本模板。現在我想將數據傳遞給這個基本模板,而不需要所有的應用程序都這樣做。 (這將是相當的開銷)我認爲使用自定義模板標籤來做這件事,但我在這裏完全喪失了可能性和方法。任何提示或建議?Django將上下文從不同的應用程序傳遞到一個模板
0
A
回答
1
創建一個混合並覆蓋get_context_data()
,把那裏所有的共同的東西,這樣的mixin添加到您所有的觀點,即需要這種行爲
class CommonMixin(object):
def get_context_data(self, **kwargs):
context = super(CommonMixin, self).get_context_data(**kwargs)
context['common_value'] = 'VALUE1'
return context
class App1View(CommonMixin, ListView):
...
class App2View(CommonMixin, CreateView):
...
如果使用功能視圖,寫了一個作爲get_context_data
和功能在每個視圖中使用它。
您可以創建自定義標籤,但可能會導致更多的計算成本。
另一種方法是編寫自定義context processor但這會影響您的所有視圖。
相關問題
- 1. 將數據從django middleware.process_view傳遞到模板上下文
- 2. 如何將一個文件的名稱從一個模板傳遞到另一個模板,在django的不同應用程序中?
- 3. 將變量從一個模板傳遞到另一個模板
- 4. 將值從一個模板傳遞到另一個模板
- 5. 將額外的上下文傳遞給Django Haystack模板
- 6. Django在視圖中將var從同一時間傳遞到兩個模板
- 7. 從不同的應用程序加載Django模板
- 8. 在應用程序之間傳遞django上下文
- 9. 將文件從兩個不同的應用程序上傳到同一個文件夾
- 10. 從CreateView傳遞參數到模板(Django)
- 11. Django。不將外鍵傳遞給模板
- 12. 將憑據傳遞從桌面應用程序到Django應用程序
- 13. 將一個值從PHP應用程序傳遞到Angular4應用程序
- 14. 在Django中傳遞給模板的上下文
- 15. 將變量從一個渲染模板傳遞到另一個渲染模板
- 16. XSLT - 將參數從一個模板傳遞到另一個模板
- 17. Django:找不到模板文件。 /應用程序沒有模板文件?
- 18. 將變量從谷歌應用程序腳本傳遞到html模板
- 19. 如何將(Android)應用程序上下文傳遞給Java類?
- 20. 將Web應用程序上下文傳遞給Angular2服務
- 21. Django從模板上傳
- 22. 從另一個應用程序django模板url
- 23. Python Django:將json從視圖傳遞到模板中的javascript
- 24. 將不同的模塊集成到一個Android應用程序
- 25. 將request.user傳遞給Django中的模板
- 26. 將對象從一個應用程序傳輸到另一個應用程序
- 27. Django。將變量從視圖傳遞到模板
- 28. 將不同的模型傳遞給Kendo Grid使用的模板
- 29. 如何將數據從一個Flex應用程序傳遞到另一個?
- 30. 如何將上下文對象作爲Django url模板標籤參數傳遞
您使用CBV還是標準功能視圖? – sax 2015-02-11 19:26:26
我使用基於功能的視圖 – Jouh 2015-02-11 19:38:27
看到我的答案這是一個典型的CBV使用 – sax 2015-02-11 19:39:59