我有一個django項目,有很多應用程序。現在,我只需要爲某些應用程序添加一些變量到上下文字典中.DJANGO是否提供了實現此目的的任何選項? 我知道裝飾器可以是有用的。是否有其他方式,如中間件/上下文處理器自動運行,但僅限於特定應用程序。如何將變量傳遞給某些應用程序的模板
0
A
回答
1
像這樣的背景處理器可以做你需要的東西:
from django.core.urlresolvers import resolve
def app_var(request):
if resolve(request.path).app_name == 'YOUR_APP_NAME':
return {'CUSTOM_VAR': 'VALUE'}
return {}
安裝背景處理器,將代碼放在你喜歡的任何文件,並添加一個條目引用(如'folder.file.app_var'
)它在CONTEXT_PROCESSORS
在你的settings.py
。
+0
但是上下文處理器的範圍遍及整個項目...我想要的應用程序 –
+0
如果在第一行是將其範圍限制爲某個應用程序,只需將您的應用程序名稱而不是「YOUR_APP_NAME」。 –
+0
變通辦法始終存在。這個問題的主要原因是確定是否在django本身的功能。 –
相關問題
- 1. 如何將「外部」變量傳遞給反應應用程序?
- 2. Semantic Mediawiki - 將變量傳遞給模板
- 3. 將變量傳遞給模板文件
- 4. 將變量傳遞給Django模板
- 5. django-profile將變量傳遞給模板
- 6. 如何將模塊中的一些變量傳遞給模板文件
- 7. 如何將自定義變量傳遞給Flex應用程序
- 8. 如何使用Laravel'Blade模板將變量傳遞給佈局?
- 9. 如何將變量傳遞給if語句使用玉模板
- 10. 如何將Django模板變量傳遞給WebPack模塊
- 11. 如何將變量傳遞給模塊?
- 12. 如何將模板變量傳遞給Django中的標記?
- 13. 如何將簡單的Haskell變量傳遞給Heist模板?
- 14. 將變量傳遞給骨幹模板時,如何在模板中引用它?
- 15. 如何將Silverlight應用程序傳遞給某人?
- 16. 如何將javascript變量傳遞給速度模板
- 17. 如何將變量從php模板傳遞給javascript
- 18. Zend框架 - 如何將變量傳遞給模板?
- 19. 如何將一個php變量傳遞給樹枝模板
- 20. 如何將模板變量傳遞給javascript
- 21. 如何將變量傳遞給Marionette ItemView模板
- 22. 如何將任意模板變量傳遞給handlebar幫助器?
- 23. 如何將變量傳遞給頂級模板?
- 24. 將變量傳遞給其他程序
- 25. 如何將模板變量傳遞給django中的模板標籤?
- 26. 如何將模型傳遞給Ember.js視圖/應用程序模板?
- 27. 將變量傳遞給另一個視圖(使用實用程序模板)
- 28. 將網站標題傳遞給應用程序模板
- 29. 使用Backbone創建模態 - 將變量傳遞給模板
- 30. 將變量傳遞給某個方面
假設每個Django應用程序都有自己的視圖,答案是「是」。只需在每個視圖的基礎上改變上下文,或者在應用程序內使用子類上下文類。但我傾向於認爲你應該重新考慮你的方法,以及這是否真的有必要。 – Tadeck
變量的值是否取決於視圖?否則,你確實可以編寫一個上下文處理器,只爲某些請求添加值。 –
沒有值不依賴於視圖... –