Подтвердить что ты не робот

Как бы я перекрестно ссылался на функцию, сгенерированную autodoc в Sphinx?

Я использую функцию Sphinx autodoc для создания документации на основе docstrings в моей библиотеке Python.

Синтаксис перекрестной ссылки найден здесь

Метка должна предшествовать разделу, чтобы разрешить ссылку на этот раздел из других областей документации.

У меня есть файл .rst(ReStructeredText) для одного из моих классов. Он использует

.. autoclass:: classname
    :members:

Чтобы создать документацию для класса.

Мой вопрос: как бы я ссылался на автогенерированные методы класса из другого документа .rst в документации? Если я попытаюсь поместить метку в метод docstring, Sphinx жалуется. Если я попытаюсь поместить ярлык перед заголовком метода, Sphinx не распознает его.

Есть ли простой способ сделать это, или мне нужно явно записать в свой файл класса имя метода и предшествовать его с помощью метки?

Вот пример ссылки в [Документация Python 2, которая делает то, что мне нужно (я предполагаю, что она использует функцию автодока, хотя я не точно знаю)

4b9b3361

Ответ 1

Вам не нужно добавлять ярлыки. Чтобы обратиться к классу, методу или другому документированному объекту Python, используйте разметку, предоставленную доменом Python.

Например, следующее определяет перекрестную ссылку на метод mymethod:

 
:py:meth:'mymodule.MyClass.mymethod'

Или даже проще (поскольку домен Python используется по умолчанию):

:meth:'mymodule.MyClass.mymethod'

Документация по TextWrapper.wrap, на которую вы ссылаетесь в вопросе, включает две перекрестные ссылки такого рода (нажмите "Показать источник", чтобы увидеть разметку reST).