2016-01-25 15 views
6

Ho un'app di flask che voglio usare la direttiva autoflask di Sphinx per documentare un'API riposante.Come configurare la borraccia automatica Sphinx per documentare l'API restrittiva del pallone?

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

Ho installato il modulo tramite pip ed eseguire sfinge-quickstart, che mi dà un conf.py e index.rst.

Ho provato a mettere l'estensione in conf.py:

extensions = ['sphinxcontrib.autohttp.flask'] 

e la direttiva nella index.rst come da documentazione:

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

Ma non posso ottenere l'applicazione : parte del modulo (autoflask_sampleapp: app) corretta. Di conseguenza, quando eseguo sphinx-build ricevo un errore che l'app o il modulo non vengono trovati.

miei alberi app assomiglia a questo:

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

e dalla directory principale della app, posso dire:

from apis import profile 

Come si configura pallone auto nel index.rst per trovare correttamente e carica i moduli API della mia app?

+0

Da dove proviene 'autoflask_sampleapp'? Non sembra essere nei tuoi "alberi delle app" da nessuna parte. –

risposta

2

mia struttura del codice, dove application.py file con pallone app, ho eseguito il mio server di pitone 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 

In conf.py si dovrebbe includere le estensioni e include il percorso abs a voi application.py o qualsiasi altro file di app principale del pallone nel tuo progetto.

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

Dopo è possibile utilizzare i modelli, vista dal vostro pallone app

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


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

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

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

In altre parole, prima corsa fanno html, si dovrebbe aggiungere percorso abs a voi cartella dell'applicazione principale via di pitone sys sys percorso. path.insert (0, os.path.abspath ('/ home/myproject /')), dove/home/cartella myproject con il codice sorgente.

Problemi correlati