我有一個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. 將值從一個模板傳遞到另一個模板
- 6. 將額外的上下文傳遞給Django Haystack模板
- 7. 將對象從一個應用程序傳遞到另一個應用程序
- 8. Django - 將參數從模板傳遞到視圖不起作用
- 9. Django 1.6:如何將值從下拉列表傳遞到另一個模板頁
- 10. Django在視圖中將var從同一時間傳遞到兩個模板
- 11. 將ajax響應傳遞給django模板
- 12. 從不同的應用程序加載Django模板
- 13. 在應用程序之間傳遞django上下文
- 14. 將文件從兩個不同的應用程序上傳到同一個文件夾
- 15. 從CreateView傳遞參數到模板(Django)
- 16. Django。不將外鍵傳遞給模板
- 17. 將憑據傳遞從桌面應用程序到Django應用程序
- 18. 將一個值從PHP應用程序傳遞到Angular4應用程序
- 19. Django的傳遞從兩個模型的數據到模板
- 20. 如何從同一個文件夾爲2個不同的Django應用程序提供模板?
- 21. 如何將不同的數據從視圖傳遞到模板?
- 22. 在Django中傳遞給模板的上下文
- 23. Django將多個模型傳遞給一個模板
- 24. Django 1.6:將一個模板的下拉值傳遞給另一個
- 25. 將值從一個Python程序傳遞到另一個程序
- 26. 將上下文值傳遞給django-allauth中的配置文件註冊模板
- 27. Django:找不到模板文件。 /應用程序沒有模板文件?
- 28. XSLT - 將參數從一個模板傳遞到另一個模板
- 29. 將變量從一個渲染模板傳遞到另一個渲染模板
- 30. GWT - 將不同的XML模板應用到同一個部件
您使用CBV還是標準功能視圖? – sax 2015-02-11 19:26:26
我使用基於功能的視圖 – Jouh 2015-02-11 19:38:27
看到我的答案這是一個典型的CBV使用 – sax 2015-02-11 19:39:59