3 Stimmen

Django Sphinx Automodul - Grundlagen

Ich habe ein Projekt mit mehreren großen Anwendungen, bei dem Einstellungen und Anwendungsdateien aufgeteilt sind.

Die Verzeichnisstruktur sieht in etwa so aus:

projekt_name

  • _ init _.py
  • Apps
  • _ init _.py
  • app1
  • app2
  • 3. Partei
  • _ init _.py
  • lib1
  • lib2
  • Einstellungen
  • _ init _.py
  • installierte_apps.py
  • pfad.py
  • templates.py
  • locale.py
  • ...
  • urls.py

jede Anwendung ist so

  • _ init _.py
  • admin
  • _ init _.py
  • datei1.py
  • file2.py
  • Modelle
  • _ init _.py
  • model1.py
  • model2.py
  • Tests
  • _ init _.py
  • test1.py
  • test2.py
  • Ansichten
  • _ init _.py
  • view1.py
  • view2.py
  • urls.py

Wie kann man eine Sphinx verwenden, um die Dokumentation dafür automatisch zu erstellen?

Ich möchte so etwas für jedes Einstellungsmodul oder INSTALLED_APPS (nicht beginnend mit django.* oder 3rdparty.*) eine automatische Dokumentationsausgabe basierend auf dem docstring.

Und Autogen-Dokumentation und Tests vor der Git-Übertragung ausführen

Übrigens. Ich habe versucht, die .rst-Dateien von Hand mit

.. automodule:: module_name
   :members:

aber für ein so großes Projekt ist das ätzend, und es funktioniert nicht für Einstellungen

Gibt es eine autogene Methode oder ähnliches?

Ich bin nicht an Sphinx gebunden, gibt es eine bessere Lösung für mein Problem?

2voto

mzjn Punkte 45393

1voto

gertvdijk Punkte 22780

django-sphinx-autodoc wird hier wahrscheinlich hilfreich sein.

Aus der Dokumentation:

Wie es funktioniert

Kopieren Sie die generate_autodoc.py Datei in Ihrem Projekt führen Sie sie aus.

Es kratzt alle Ihre .py Dateien in jeder Anwendung, die von INSTALLED_APP und fügen Sie dann Automodule in Ihrem DS_ROOT/modules.rst .

Ihre Bewerbungen werden dann in 2 verschiedene Kategorien eingeteilt:

  • interne Anwendung ist eine Anwendung, die sich in Ihrem Projekt befindet Verzeichnis
  • externe Anwendung ist eine App, die so pythonpath (vorzugsweise in der Virtualenv)

Bewährte Praktiken

Fügen Sie einen Docstring in der Anwendung __init__.py f django-sphinx-autodoc wird sie automatisch für Sie scrapen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X