2014-03-27 5 views
21

Ich verwende die Sphinxautodoc Funktion, um Dokumentation basierend auf den Docstrings meiner Python-Bibliothek zu generieren.Wie würde ich eine Funktion referenzieren, die von Autodoc in Sphinx generiert wird?

Die Syntax für Querverweise wird here

Ein Etikett dieser Abschnitt den Abschnitt, um zu ermöglichen, vorangehen muß von anderen Bereichen der Dokumentation verwiesen werden.

Was ich habe, ist eine .rst (ReStructeredText) Datei für eine meiner Klassen. Es verwendet

.. autoclass:: classname 
    :members: 

Um Dokumentation für die Klasse zu generieren.

Meine Frage ist, wie würde ich die automatisch generierten Methoden der Klasse aus einem anderen ersten Dokument in der Dokumentation verweisen? Wenn ich versuche, eine Beschriftung in den Docstring der Methode einzufügen, beschwert sich Sphinx. Wenn ich versuche, eine Beschriftung vor der Methodenüberschrift zu platzieren, erkennt Sphinx sie nicht.

Gibt es eine einfache Möglichkeit, dies zu tun, oder muss ich den Methodennamen explizit in meine Klassendatei schreiben und diesem mit einer Beschriftung voranstellen? Hier

ist ein Beispiel eine Referenz in der [Python-Dokumentation 2 zu tun, was ich brauche (ich nehme es die Autodoc-Funktion verwendet, obwohl ich nicht sicher weiß)

Antwort

25

Sie brauchen nicht hinzufügen Etiketten. Verwenden Sie das Markup, das von Python domain bereitgestellt wird, um auf eine Python-Klasse, eine Methode oder ein anderes dokumentiertes Objekt zu verweisen.

Zum Beispiel definiert die folgenden einen Querverweis auf die mymethod Methode:

:py:meth:`mymodule.MyClass.mymethod` 

Oder noch einfacher (da die Python-Domäne ist die Standardeinstellung):

:meth:`mymodule.MyClass.mymethod` 

Die Dokumentation von TextWrapper.wrap, zu der Sie in der Frage verlinken, enthält zwei Querverweise dieser Art (klicken Sie auf "Quelle anzeigen", um das ReST-Markup zu sehen).

+0

Danke - Das war ein hilfreicher Link. Ich muss diesen Abschnitt im Sphinx-Dokument verpasst haben. –

Verwandte Themen