2016-01-25 17 views
6

Tôi có một ứng dụng bình mà tôi muốn sử dụng chỉ thị autoflask của Sphinx để ghi lại một API bình tĩnh.Làm thế nào để cấu hình bình Sphinx tự động để ghi lại API yên tĩnh trong bình?

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

Tôi đã cài đặt các module qua pip và chạy Sphinx-QuickStart, mang đến cho tôi một conf.py và index.rst.

Tôi đã thử đặt phần mở rộng vào conf.py:

extensions = ['sphinxcontrib.autohttp.flask'] 

và chỉ thị vào index.rst theo tài liệu:

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

Nhưng tôi không thể có được ứng dụng : mô-đun (autoflask_sampleapp: ứng dụng) một phần chính xác. Kết quả là, khi tôi chạy sphinx-build, tôi gặp lỗi khi ứng dụng hoặc mô-đun không được tìm thấy.

cây Ứng dụng của tôi trông như thế này:

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

và từ thư mục gốc của ứng dụng, tôi có thể nói:

from apis import profile 

Làm thế nào để cấu hình tự động bình trong index.rst để tìm một cách chính xác và tải các mô-đun API của ứng dụng của tôi?

+0

Nơi 'autoflask_sampleapp' đến từ đâu? Nó dường như không có trong "cây ứng dụng" của bạn ở bất cứ đâu. –

Trả lời

2

cấu trúc mã của tôi, nơi application.py tập tin với ứng dụng bình, tôi chạy máy chủ python tôi 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 

Trong conf.py bạn nên bao gồm các phần mở rộng và bao gồm đường dẫn abs cho bạn application.py hoặc bất kỳ tệp ứng dụng bình chính nào khác trong dự án của bạn.

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

Sau khi bạn có thể sử dụng bản thiết kế, quan điểm từ ứng dụng bình của bạn

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


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

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

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

Nói cách khác, trước khi chạy làm html, bạn nên thêm đường abs để bạn thư mục ứng dụng gốc qua python sys sys con đường. path.insert (0, os.path.abspath ('/ home/myproject /')), trong đó thư mục/home/myproject với mã nguồn của bạn.

Các vấn đề liên quan