我用Sphinx生成了一些Python文档。如果我进入build / html目录并直接打开index.html,我将获得Sphinx格式。
如果我尝试使用以下代码在同一页面Flask中提供服务,则会得到该页面,但所有Sphinx格式均已消失:
from flask import send_from_directory
@app.route('/help')
def help():
return send_from_directory('/sphinx/build/html', 'index.html')
我直接在调试模式下使用app.run调用Flask。这就是我喜欢的方式。我知道如何在Apache中进行设置,但我不想运行Apache。是否可以在Flask中提供Sphinx并仍然获得格式,还是我绝对必须运行像Apache这样的Web服务?
答案 0 :(得分:1)
使用在静态文件夹/sphinx/build
下生成的html文件./static/sphinx/build
复制您的Sphinx文档文件夹。
然后使用Jinja进行链接:
<a href="{{ url_for('static', filename='sphinx/build/html/index.html') }}">Documentation</a>
本地服务器上生成的url类似于以下内容:
http://127.0.0.1:5000/static/sphinx/build/html/index.html
在部署您的应用程序后,请用符号链接替换新目录,因此无需在每次构建文档时都复制/sphinx/build
文件夹。