不管DEFAULT_CONTENT_TYPE
設置的值如何,強制Django管理站點應用程序中的視圖返回的所有對象都使用「text/html」作爲其內容類型,最好的方法是什麼?我的項目有這個設置爲「application/xhtml + xml」,雖然管理應用程序生成的內容聲稱是有效的XHTML(看它的doctype聲明),但事實並非如此。 Ticket #5704是一個主要問題,我發現了一些內聯表單的問題(即自由使用
,這不是XHTML中的命名實體)。 Ticket #11684中的評論表明,在管理站點完全支持XHTML之前可能需要一段時間,所以我需要弄清楚如何在管理站點中使用「text/html」,而將默認值保留爲「application/xhtml + xml 「。忽略Django管理站點的DEFAULT_CONTENT_TYPE?
0
A
回答
1
我不知道這是否是做還是不是最好的方式,但我終於通過繼承AdminSite
並重寫admin_view
方法實現我的目標:
class HTMLAdminSite(admin.AdminSite):
'''Django AdminSite that forces response content-types to be text/html
This class overrides the default Django AdminSite `admin_view` method. It
decorates the view function passed and sets the "Content-Type" header of
the response to 'text/html; charset=utf-8'.
'''
def _force_html(self, view):
def force_html(*arguments, **keywords):
response = view(*arguments, **keywords)
response['Content-Type'] = 'text/html; charset=utf-8'
return response
return force_html
def admin_view(self, view, *arguments, **keywords):
return super(HTMLAdminSite, self).admin_view(self._force_html(view),
*arguments, **keywords)
然後,在我的根URL配置,在致電admin.autodiscover()
之前,我將admin.site
設置爲這個HTMLAdminSite
類的一個實例。它似乎工作正常,但如果有更好的方法,我會很高興聽到它。
相關問題
- 1. Django管理站點
- 2. Django管理站點與mongodb
- 3. Django站點管理失敗
- 4. Django動態管理站點
- 5. MVT/MVC Django的管理站點
- 6. Django管理站點 - admin.py的位置
- 7. 過濾查詢的Django管理站點
- 8. 在Django管理站點調用方法
- 9. Django管理站點不工作
- 10. Django管理站點修改保存
- 11. Django:從管理站點上載文件
- 12. 在Django中使用管理站點
- 13. Django管理站點 - 顯示問題
- 14. Django管理站點,html標籤
- 15. 使用forms.TextArea在Django管理站點
- 16. 添加JavaScript來Django管理站點
- 17. 讓站點管理員管理Django中的默認值
- 18. 的Django 1.4:實現在Django管理站點(管理站點自定義部件)鏈接的下拉列表
- 19. Django的:代理元類忽略verbose_name_plural
- 20. 你如何管理你的忽略?
- 21. 忽略網站
- 22. Django的忽略APPEND_SLASHES
- 23. 如何讓memcached忽略django管理頁面?
- 24. Django admin:刪除Django管理站點中的鏈接元素
- 25. 管理網站外觀django
- 26. Django管理註銷網站
- 27. Django管理網站激活
- 28. IPython和virtualenv:忽略站點包
- 29. SSRS管理站點的SSO
- 30. Android位置管理器忽略minTime