【发布时间】:2016-04-10 16:42:51
【问题描述】:
我的烧瓶应用程序中有一个端点,我想在数据库中执行一些日志记录,然后在响应中提供一个静态 HTML 文件。终点是这样的:
@app.route("/man/<os>/<section>/<name>")
我有数千个不同的 HTML 文件,这取决于 URL,其中一个需要返回。我已将 Nginx 配置为提供所有静态文件。但是,我在 Flask 中处理这些 URL,在数据库中进行日志记录,并通过请求模块流式传输 HTML 文件(见下文)
host = request.host
path = 'man_pages/' + os + '/html' + section + '/' + name + '.html'
url = 'http://' + host + url_for('static', filename=path) #TODO don't hardcode the scheme
req = requests.get(url, stream=True)
return Response(stream_with_context(req.iter_content()), content_type=req.headers['content-type'])
这导致对 Nginx 的两个请求,我认为这不是最有效的方法。有没有办法在烧瓶应用程序中记录数据库,然后使用 Nginx 提供静态 HTML 文件?
【问题讨论】:
标签: python nginx flask static gunicorn