在金字塔中,是否有正确的方法来更改默认的响应内容类型?我发现我可以通过使用补间来改变内容类型来改变文本/ html'到' application / xhtml + xml'。
config.add_tween('app.tweens:XhtmlTween')
class XhtmlTween(object):
def __init__(self, handler, registry):
self.handler = handler
self.registry = registry
def __call__(self, request):
# Process request.
response = self.handler(request)
# Change content-type.
# - Taken from JSON.__call__ from <https://github.com/Pylons/pyramid/blob/master/pyramid/renderers.py>.
if response.content_type == response.default_content_type:
response.content_type = 'application/xhtml+xml'
return response
然而,这看起来像是一个糟糕的黑客。有更好的方法吗?
答案 0 :(得分:3)
来自Pyramid文档,Instantiating the Response下的“请求和响应对象”:
您可以创建
pyramid.response.Response
的子类并设置default_content_type
以覆盖此行为。