Основы автомодуля Django Sphinx

У меня есть проект с несколькими большими приложениями, где файлы настроек и приложений разделены.

структура каталогов выглядит примерно так:

имя_проекта

  • _инициализация_.py
  • Программы
  • _инициализация_.py
  • приложение1
  • приложение2
  • сторонний
  • _инициализация_.py
  • lib1
  • lib2
  • настройки
  • _инициализация_.py
  • Install_apps.py
  • путь.py
  • шаблоны.py
  • locale.py
  • ...
  • urls.py

все приложения такие

  • _инициализация_.py
  • администратор
  • _инициализация_.py
  • файл1.py
  • файл2.py
  • модели
  • _инициализация_.py
  • model1.py
  • model2.py
  • тесты
  • _инициализация_.py
  • test1.py
  • test2.py
  • взгляды
  • _инициализация_.py
  • view1.py
  • view2.py
  • urls.py

Как использовать Sphinx для автоматической генерации документации для этого?

Я хочу, чтобы что-то подобное для каждого модуля настроек или INSTALLED_APPS (не начиная с django.* или 3rdparty.*) давало мне автоматический вывод документации на основе строки документации.

А также автогенерировать документацию и запускать тесты перед git commit

Кстати. Я попытался сделать файлы .rst вручную с помощью

.. automodule:: module_name
   :members:

но это отстой для такого большого проекта, и он не работает для настроек

Есть ли метод автогена или что-то в этом роде?

Я не привязан к Sphinx, есть ли лучшее решение для моей проблемы?


person Matt Harasymczuk    schedule 14.03.2011    source источник


Ответы (2)



django-sphinx-autodoc, вероятно, поможет здесь.

Из документации:

Как это работает

Скопируйте файл generate_autodoc.py в каталог вашего проекта, затем запустите его.

Он очистит все ваши .py файлы в каждом приложении, указанном INSTALLED_APP, а затем добавит автомодули в ваш DS_ROOT/modules.rst.

Затем вы увидите, что ваши приложения сгруппированы в 2 разные категории:

  • внутреннее приложение – это приложение, расположенное в каталоге вашего проекта.
  • внешнее приложение — это приложение, которое находится где-то в вашем pythonpath (желательно в вашем virtualenv)

Надлежащая практика

Добавьте строку документации в файл __init__.py вашего приложения, чтобы описать его. django-sphinx-autodoc автоматически очистит его для вас.

person gertvdijk    schedule 12.06.2013
comment
К сожалению, это кажется заброшенным. - person Ken Kinder; 22.07.2021