Python sphinx 如何从python文档字符串生成web API文档

Python sphinx 如何从python文档字符串生成web API文档,python-sphinx,Python Sphinx,我有一个Django网站,我创建了一个RESTAPI。在视图函数中,我有关于REST URL的文档,我想为REST URL生成API文档。视图函数如下所示: def genres(request): """ Url: /api/genres/ Parameters: None Returns: list of genres { { "id":1, "name":"action" }, {...} } """ pass 但是,当我在myprojec

我有一个Django网站,我创建了一个RESTAPI。在视图函数中,我有关于REST URL的文档,我想为REST URL生成API文档。视图函数如下所示:

def genres(request):
    """
    Url: /api/genres/
    Parameters: None
    Returns: list of genres { { "id":1, "name":"action" }, {...} }
    """
    pass
但是,当我在myproject.api.views上运行sphinx时,我会得到用python调用api的html文档。有没有办法将sphinx配置为像RESTAPI一样记录它

还是我最好自己编写一个脚本,从文档字符串生成文档?

检查

您可以使用autodoc来使用DocString,也可以使用httpdomain扩展来使用。。http:get::/users/style指令。此解决方案有一个问题,它还将显示函数的签名。为了解决这个问题,我对Sphinx源代码做了一些修改,复制了原始autodoc扩展,不会将签名添加到最终文档中

可以在上找到这些文件

说明:

  • 将sphinx路径上的application.py替换为上的路径(我的系统上的路径是/Library/Frameworks/Python.Frameworks/Versions/Current/lib/python2.7/site packages/sphinx-1.1.3-py2.7.egg/sphinx/)
  • 在ext文件夹中添加simpleautodoc.py
  • 在conf.py上添加httpdomain扩展以使用。。http:get::/users/style指令
  • 使用simpleautodoc就像使用autodoc一样,使用前缀autosimple代替auto(例如autosimplemodule代替automodule autosimpleclass代替autoclass等)
  • example.py文件显示了我如何格式化docstring的示例

  • 看来我们必须将文档与代码分开,才能使用sphinxcontrib httpdomain。有没有办法让它使用视图函数中的docstring?提供的链接已关闭。