2016-01-25 32 views
6

Mam aplikację do kolb, do której chcę użyć dyrektywy autorskiej "Sphinx", aby udokumentować interfejs API z funkcją dopasowania do kolby.Jak skonfigurować automatyczną kolbę Sphinx w celu udokumentowania funkcji API przyjaznej dla kolb?

https://pythonhosted.org/sphinxcontrib-httpdomain/#module-sphinxcontrib.autohttp.flask

Mam zainstalowany moduł poprzez pip i uruchomić sfinks-QuickStart, który daje mi conf.py i index.rst.

Próbowałem oddanie rozszerzenie do conf.py:

extensions = ['sphinxcontrib.autohttp.flask'] 

i dyrektywy do index.rst zgodnie z dokumentacją:

.. autoflask:: autoflask_sampleapp:app 
:undos-static: 

Ale nie mogę pobrać aplikację : część modułu (autoflask_sampleapp: app) jest poprawna. W rezultacie, po uruchomieniu sphinx-build pojawia się błąd, że ani aplikacja, ani moduł nie zostaną znalezione.

moja aplikacja drzew wygląda następująco:

. 
├── admin 
├── apis 
├── app 
│   ├── static 
│   └── templates 

iz katalogu głównego aplikacji, mogę powiedzieć:

from apis import profile 

Jak skonfigurować auto kolbę w index.rst aby prawidłowo znaleźć i załadować moduły API mojej aplikacji?

+0

Skąd pochodzi nazwa "autoflask_sampleapp"? Wygląda na to, że nie ma go w twoich "drzewach aplikacji". –

Odpowiedz

2

Moja struktura kodu, gdzie application.py plik z kolby aplikacji uruchomić mój serwer Pythona appllication.py runserver

├── application.py 
├── _build 
│   ├── doctrees 
│   │   ├── environment.pickle 
│   │   └── index.doctree 
│   └── html 
│    ├── genindex.html 
│    ├── http-routingtable.html 
│    ├── index.html 
│    ├── objects.inv 
│    ├── search.html 
│    ├── searchindex.js 
│    ├── _sources 
│    │   └── index.txt 
│    └── _static 
├── conf.py 
├── index.rst 

W conf.py powinien zawierać rozszerzenia i zawierać ścieżkę do abs ty application.py lub dowolny inny główny plik aplikacji w kolbie w twoim projekcie.

import os 
import sys 
sys.path.insert(0, os.path.abspath('.')) 

# -- General configuration ------------------------------------------------ 

# If your documentation needs a minimal Sphinx version, state it here. 
# 
# needs_sphinx = '1.0' 

# Add any Sphinx extension module names here, as strings. They can be 
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 
# ones. 
extensions = [ 
    'sphinxcontrib.autohttp.flask', 
    'sphinxcontrib.autohttp.flaskqref' 
] 

Po można użyć plany, widoki z aplikacji kolby

My documentation! 
======================================= 


.. qrefflask:: application:application 
    :undoc-static: 

======================================= 
Api details! 
======================================= 

.. autoflask:: application:application 
    :undoc-static: 

Innymi słowy, przed uruchomieniem uczynić html, należy dodać ścieżkę abs wam folderu aplikacji roota poprzez python sys sys ścieżek. path.insert (0, os.path.abspath ('/ home/myproject /')), gdzie/home/myproject folder z twoim kodem źródłowym.