man*_*aia 11 flask python-sphinx
我在本地构建了静态Sphinx文档(使用make html).
我现在希望将Sphinx文件集成到我使用Flask运行的webapp中.在Flask运行应用程序中,我只是想包含一个指向Sphinx文档的超链接,它将作为应用程序的帮助.
Websupport似乎是要遵循的方式,但我不清楚如何将Flask框架与Sphinx文件联系起来.
谢谢你的帮助,
问候
其他解决方案很好地省略了Flask对象初始化,这导致我将头部撞到墙上一会儿。
完全不接触Sphinx项目结构的情况,以下是对我有用的解决方案:
from flask import Flask
app = Flask(__name__, static_url_path='/', static_folder='_build/html/')
@app.route('/')
@app.route('/<path:path>')
def serve_sphinx_docs(path='index.html'):
return app.send_static_file(path)
if __name__ == '__main__':
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
下面是项目的文件结构,其中<doc>表示我为文档实际编写的第一个文件,并且app.py是包含上面Flask应用程序代码的文件。
.
??? Makefile
??? _build
? ??? doctrees
? ? ??? index.doctree
? ? ??? <doc>.doctree
? ? ??? ...
? ? ??? <doc>.doctree
? ??? html
? ??? _images
? ??? _modules
? ? ??? index.html
? ? ??? <package name>
? ? ??? ...
? ??? _sources
? ? ??? <doc>.rst.txt
? ? ??? ...
? ? ??? <doc>.rst.txt
? ??? _static
? ? ??? ajax-loader.gif
? ? ??? alabaster.css
? ? ??? ...
? ??? genindex.html
? ??? index.html
? ??? objects.inv
? ??? py-modindex.html
? ??? search.html
? ??? searchindex.js
? ??? <doc>.html
? ??? ...
? ??? <doc>.html
??? _static
? ??? custom.css
? ??? <myimage>.gif
??? _templates
??? app.py
??? conf.py
??? index.rst
??? make.bat
??? <doc>.rst
??? ...
??? <doc>.rst
Run Code Online (Sandbox Code Playgroud)
您可以使用Web服务器处理它,就像/static在Flask中处理目录一样.例如,如果您使用Apache作为生产Web服务器,则可以添加
Alias /documentation /location/of/sphinx/html
<Directory /location/of/sphinx/html>
Order deny,allow
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
到你的Apache站点配置,那么你可以直接链接http://yoursite.com/documentation到访问Sphinx文件,完全避免使用Flask.
| 归档时间: |
|
| 查看次数: |
5435 次 |
| 最近记录: |