2013-04-10 70 views
1

我生成一個新的Django項目,與幾個應用程序。這個項目的主要目標是創建一個REST API。現在,我已經獅身人面像的工作,與如何用獅身人面像文件Django的網址

sphinx-quickstart 

sphinx-apidoc -o doc/packages . 

所有的人創造我的所有項目的文檔工作得很好,除了網址。我希望將我的URL記錄下來,作爲一個不錯的API,與其他的sphinx文檔完全集成。

可能嗎?

回答

2

它是。這不是直接記錄的網址,但我連接的網址,查看這樣的文件:

做一個獅身人面像的擴展,看起來像:

 
    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中的正則表達式和你可以包含的參數。我自己也搜索與不同域對應的多個url解析器。

+0

'get_resolver()'需要一個參數:url conf文件。在這個文件的頂部添加'from yourapp import urls',然後將'urls'參數添加到'get_resolver'的調用中。 – 2014-03-11 21:30:52