Python Flask,如何设置内容类型

新手上路,请多包涵

我正在使用 Flask 并从 get 请求返回一个 XML 文件。如何将内容类型设置为 xml ?

例如

@app.route('/ajax_ddl')
def ajax_ddl():
    xml = 'foo'
    header("Content-type: text/xml")
    return xml

原文由 Tampa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 439
2 个回答

试试这样:

 from flask import Response
@app.route('/ajax_ddl')
def ajax_ddl():
    xml = 'foo'
    return Response(xml, mimetype='text/xml')

实际的内容类型基于 mimetype 参数和字符集(默认为 UTF-8)。

响应(和请求)对象记录在此处: http ://werkzeug.pocoo.org/docs/wrappers/

原文由 Simon Sapin 发布,翻译遵循 CC BY-SA 3.0 许可协议

就这么简单

x = "some data you want to return"
return x, 200, {'Content-Type': 'text/css; charset=utf-8'}

更新:使用下面的方法,因为它适用于 python 2.x 和 python 3.x,并且它消除了“多个标头”问题(可能发出多个重复标头)。

 from flask import Response
r = Response(response="TEST OK", status=200, mimetype="application/xml")
r.headers["Content-Type"] = "text/xml; charset=utf-8"
return r

原文由 Harsh Daftary 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏