有什么方法可以提供具有 mimetype 的平面页面text/xml
?将模板更改为具有不同文件扩展名的模板不起作用,而且我在文档中找不到任何说明这是可能的信息。
问问题
149 次
1 回答
1
id 建议覆盖 FlatpageFallbackMiddleware。你可以像这样设置响应头:
#myproject/middleware.py
from django.contrib.flatpages.middleware import FlatpageFallbackMiddleware
class XmlFlatpageFallbackMiddleware(FlatpageFallbackMiddleware):
def process_response(self, request, response):
if response.status_code != 404:
return response # No need to check for a flatpage for non-404 responses.
response = super(XmlFlatpageFallbackMiddleware, self).process_response(request, response)
# this depends on your settings.APPEND_SLASH
# see django.contrib.flatpages.views.flatpage for details
if request.path_info.endswith('.xml') or request.path_info.endswith('.xml/'):
response['Content-Type'] = 'text/xml; charset=utf-8'
return response
将您的新中间件放入settings.MIDDLEWARE_CLASSES并关闭您的 xml 文件。
这里有一些关于在 django 中设置响应头的信息
于 2013-01-10T10:40:04.590 回答