文章内容
2022/4/21 11:29:04,作 者: 黄兵
Flask 如何发送 xml 文档
最近使用 Flask 生成站点地图,站点地图一般是 xml 文件,但是使用模板生成的发送的时候却是 html 页面,为了解决这个问题,使用 flask Response 来定义发送的文件类型,示例代码如下:
from flask import render_template, current_app, Response
@main.route('/sitemap.xml')
@lru_cache(maxsize=512)
def site_map():
articles = Article.query.order_by(Article.create_time.desc()).all()
articles_info = []
for item in articles:
query_category = Category.query.filter_by(id=item.category_id).first()
articles_info.append({'category': query_category.link_text, 'url': item.link_text,
'create_time': item.create_time.date()})
sitemap_template = render_template('sitemap/sitemap_template.xml', articles=articles_info,
base_url=current_app.config['ORIGINAL_URL'])
return Response(sitemap_template, mimetype='application/xml')实际的 Content-Type 基于 mimetype 参数和字符集(默认为 UTF-8)。
了解更多信息,可以查看:响应(和请求)对象记录的文档。
参考资料:
1、Python Flask, how to set content type
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - Flask 如何发送 xml 文档
评论列表