1

我正在生成一个新的 Django 项目,其中包含多个应用程序。这个项目的主要目标是创建一个 REST API。现在,我正在使用 Sphinx,为我的所有项目创建文档

sphinx-quickstart

sphinx-apidoc -o doc/packages .

一切都很好,除了 URL。我希望将我的 URL 记录为一个很好的 API,与 Sphinx 文档的其余部分完全集成。

可能吗?

4

1 回答 1

2

这是。这不是直接记录 URL,但我以这种方式连接 URL 以查看文档:

制作一个看起来像这样的 Sphinx 扩展:

from django.core.urlresolvers import get_resolver

def setup(app):
    app.connect('autodoc-process-docstring', process_django_view)

def process_django_view(app, what, name, obj, options, lines):
   if what=='function':
       res = get_resolver()
       if res.reverse_dict.has_key(obj):
           url_struct = res.reverse_dict[obj]
           lines[:0] = [
               "| URL structure: %s\n" % url_struct[0][0][0]
               ]

然后,您需要将其添加到您的扩展中conf.py并加载到 Django 环境中,如下所述:如何为 django 项目构建 sphinx 文档

还有一些其他的东西,比如正则表达式url_struct和你可以包含的参数。我自己的也搜索对应于不同域的多个 URL 解析器。

于 2013-09-18T21:41:11.070 回答