使用sphinx生成API文档
1、安装sphinx
pip install Sphinx
2、初始化文档:
在项目根目录下运行(或者进入doc目录下执行sphinx-quickstart)
sphinx-quickstart doc #api文档放在此目录下
根据提示一步步来,我只处理下以下几项,其它的都是默认回车
> Separate source and build directories (y/n) [n]: y
> Project name: TEST
> Author name(s): X.F
> Project language [en]: zh_cn
> autodoc: automatically insert docstrings from modules (y/n) [n]: y
> viewcode: include links to the source code of documented Python objects (y/n) [n]: y
3、修改doc/source/conf.py
import os
import sys
import django #这个最好可以加载顶部和其他的 import 放在一起
sys.path.insert(0, os.path.abspath('../..')) #路径指到项目根目录
#
下面将 settings 加到环境变量里面,等一下启动的时候就会是用这个配置
os.environ['DJANGO_SETTINGS_MODULE'] = 'JCSSJK.settings'
#
关键,用这句加载模块和上下文
django.setup()
4、生成代码文档,到项目根目录下:
注意:-o 后面跟的是保存rst文件的路径,你的index.rst在哪个目录,那你就指定哪个目录。然后在后面的是你的项目(代码)路径
sphinx-apidoc -o doc/source .
5、进入doc/source ,修改index.rst文件,让其可以加载modules.rst内容
.. toctree::
:maxdepth: 2
:caption: Contents:
modules #加入此行
6、进入到doc目录,运行 make html生成
运行doc\build\html\index.html
7、为文档更新一个友好的主题(先安装pip install sphinx_rtd_theme)
再次修改doc/source/conf.py
#html_theme = 'alabaster'
import sphinx_rtd_theme
html_theme = "sphinx_rtd_theme"
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
最后再重新运行一次 make html即可生效