2013-01-21 59 views
0

我有一個Django的網站生成web API文檔和我創建了一個REST API。在視圖函數中,我有關於REST URL的文檔,我想爲REST URL生成API文檔。視圖功能是這樣的:如何從Python的文檔字符串

def genres(request): 
    """ 
    Url: /api/genres/ 
    Parameters: None 
    Returns: list of genres { { "id":1, "name":"action" }, {...} } 
    """ 
    pass 

但是當我在myproject.api.views運行獅身人面像我得到的HTML文檔調用在python的API。有沒有辦法配置獅身人面像文件它像一個REST API?

還是我最好寫一個腳本從文檔字符串自己產生我的文檔?

回答

1

檢查sphinxcontrib-httpdomain

您可以以使用文檔字符串和httpdomain擴展,以便使用使用車博士.. HTTP:GET :: /用戶/風格的指令。這個解決方案有一個問題,它也會顯示函數的簽名。爲了避開這個問題,我修修補補了一下與獅身人面像的源代碼,使得原本車博士擴展,不會簽名添加到最終文件的副本。

的文件可以在https://gist.github.com/4589457

說明中找到:

  1. 獅身人面像路徑上更換application.py與一個gist(的道路上我的系統上是/庫/框架/ Python.framework/Versions/Current/lib/python2.7/site-packages/Sphinx-1.1.3-py2.7.egg/sphinx /)
  2. 加入simpleautodoc.py關於ext文件夾
  3. 上conf.py添加httpdomain擴展,以便使用HTTP ..:獲得:: /用戶/風格的指令
  4. 使用simpleautodoc就像使用前綴autosimple,而不是汽車使用車博士(如autosimplemodule而不是automodule autosimpleclass代替AUTOCLASS等)
  5. example.py文件顯示了我如何格式化文檔字符串
+0

看起來我們不得不保持文檔分開的代碼使用sphinxcontrib樣本-httpdomain。有沒有辦法讓它使用視圖函數中的文檔字符串? – dar

+0

@dar檢查編輯 – nizz

相關問題