12
A
回答
25
問題的標題假設「視圖」和「模板」是可以互換的 - 它們不是。爲了在模板中獲取當前網站,需要將其添加到用於呈現模板的上下文中。如果您使用的是RequestContext
,則可以編寫一個上下文處理器來自動執行此操作。
你可以寫一個上下文處理器要做到這一點,像這樣:
from django.contrib.sites.models import Site
def site_processor(request):
return { 'site': Site.objects.get_current() }
然後,將其添加到您的TEMPLATE_CONTEXT_PROCESSORS
,並使用它,像這樣:
<h3>{{ site.name }}</h3>
0
古怪,使用bradleyayers處理器給了Null結果,所以不是使用Site框架,而是使用請求中的參數。
所以處理器將看起來像:
def host_processor(request):
return { 'host': request.get_host() }
希望它幫助
相關問題
- 1. 檢查是否可以通過JavaScript訪問遠程網站
- 2. 是否可以通過門戶網站訪問URL?
- 3. 是否可以訪問網站?
- 4. 是否可以通過PHP訪問REQUEST_FILENAME?
- 5. 是否可以使用移動網站訪問通話記錄?
- 6. ViewExpiredException當通過googlebot訪問網站
- 7. 通過客戶端查找以前訪問過的網站asp.net
- 8. 是否可以訪問C++模板模板常量參數?
- 9. 是否可以通過IP地址和索引文件路徑訪問網站?
- 10. 是否可以從Java客戶端通過網絡訪問ODBC?
- 11. 是否可以通過網絡訪問Cacti RRD數據庫
- 12. 通過android訪問網站
- 13. 通過ssh訪問網站
- 14. 訪問網站/網站是否正確?
- 15. 我的網站是可以訪問的ftp://ftp.example.com是否安全?
- 16. Sharepoint 2010:是否可以擴展Fab40網站模板?
- 17. 我可以通過ipv4訪問我的ipv6網站嗎?
- 18. 在VBA中,是否可以通過文檔和子模板訪問模板全局變量?
- 19. 通過網頁訪問一個網站
- 20. 通過ipv4網絡訪問ipv6網站
- 21. 訪問特定網站時是否可以顯示任何IP?
- 22. 網站訪問者是否可以更改AngularJS屬性名稱?
- 23. 是否可以從Azure網站訪問Azure中的表存儲
- 24. 如何判斷訪問者是否通過手機訪問網站?
- 25. 問題通過HttpURLConnection訪問HTTP網站
- 26. 我的網站可通過domain.com/index.html訪問,但不能通過domain.com訪問
- 27. 是否可以訪問Facebook當前熱門話題?
- 28. 是否可以訪問Ribbon_Load上的當前MailItem?
- 29. 是否可以訪問ViewPager正在查看的當前片段?
- 30. 是否可以間接訪問python中的當前類名?
我使用'django.views.generic.simple.direct_to_template',所以我應該被覆蓋,對不對?這沒有內置的上下文處理器? –
是的,'direct_to_template'使用'RequestContext',但是您需要編寫自己的上下文處理器,因爲Django中沒有一個。或者,您可以將參數傳遞給'direct_to_template',將當前網站添加到上下文。 –
爲什麼名爲'site_processor'而不是'site'的函數? –