如何使用Sphinx记录Django网址

时间:2013-04-10 07:58:26

标签: django api documentation python-sphinx

我正在使用多个应用生成一个新的django项目。该项目的主要目标是创建REST API。现在,我正在使用狮身人面像,用

创建我所有项目的文档
sphinx-quickstart

sphinx-apidoc -o doc/packages .

除URL外,一切正常。我希望将我的URL记录下来,作为一个很好的API,与其余的sphinx文档完全集成。

有可能吗?

1 个答案:

答案 0 :(得分:2)

是的。这不是直接记录网址,但是我以这种方式将网址连接到视图文档:

制作一个类似于:

的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环境中,如下所述:How to build sphinx documentation for django project

还有其他一些东西,比如url_struct中的正则表达式以及可以包含的参数。我自己也会搜索与不同域名对应的多个网址解析器。