Flask 将斯芬克斯与烧瓶一起使用,并保留格式

Flask 将斯芬克斯与烧瓶一起使用,并保留格式,flask,python-sphinx,Flask,Python Sphinx,我使用Sphinx生成了一些Python文档。如果我转到build/html目录并直接打开index.html,就会得到Sphinx格式 如果我尝试使用以下代码提供相同的页面,我会得到该页面,但所有Sphinx格式都消失了: from flask import send_from_directory @app.route('/help') def help(): return send_from_directory('/sphinx/build/html', 'index.html')

我使用Sphinx生成了一些Python文档。如果我转到build/html目录并直接打开index.html,就会得到Sphinx格式

如果我尝试使用以下代码提供相同的页面,我会得到该页面,但所有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服务?

将生成的html文件
/Sphinx/build
复制到Sphinx文档文件夹的静态文件夹下
/static/Sphinx/build

然后使用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
文件夹。

我不完全确定“sphinx格式消失”是什么意思,但很可能是css或js文件没有得到正确的服务。当你以开发者模式访问你的网站时,是否有任何请求被拒绝?你的目录结构是什么样的?