2016-01-25 14 views
6

Ich habe eine Flasch-App, die Sphinxs Autoflask-Direktive verwenden soll, um eine Flasch-Restful-API zu dokumentieren.Wie konfiguriert man Sphinx-Autokolben, um Flaschennestful-API zu dokumentieren?

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

Ich habe das Modul über pip und laufen Sphinx-quickstart installiert, die mir eine conf.py und index.rst gibt.

Ich habe versucht, die Erweiterung in conf.py setzen:

extensions = ['sphinxcontrib.autohttp.flask'] 

und die Richtlinie in index.rst gemäß der Dokumentation:

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

Aber ich kann die App nicht bekommen : Modul (Autoflask_sampleapp: app) Teil korrekt. Daher erhalte ich bei der Ausführung von sphinx-build die Fehlermeldung, dass entweder die App oder das Modul nicht gefunden wird.

Meine app Bäume sieht wie folgt aus:

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

und aus dem Stammverzeichnis der App, was ich sagen kann:

from apis import profile 

Wie finde ich Auto Kolben in der index.rst konfigurieren, um korrekt und laden Sie die API-Module meiner App?

+0

Woher kommt 'autoflask_sampleapp'? Es scheint nirgends in deinen "App-Bäumen" zu sein. –

Antwort

2

Meine Code-Struktur, wo application.py Datei mit Kolben app, ich meine Server Python appllication.py runserver laufen

├── 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 

In conf.py sollten Sie Erweiterungen und umfassen abs Pfad enthalten, um Sie application.py oder eine andere Haupt-App-Datei in Ihrem Projekt.

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' 
] 

Nachdem Sie Entwürfe verwenden können, Ansichten aus dem Kolben App

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


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

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

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

Mit anderen Worten, vor der Lauf html machen, sollten Sie abs Pfad Sie root Bewerbungsmappe über Python sys Pfad sys hinzuzufügen. path.insert (0, os.path.abspath ('/ home/myproject /')), wo/home/myproject Ordner mit Ihrem Quellcode.