Python 从类的交叉引用中省略模块名称 背景
我有一个名为的项目,该项目由;该项目的文档是 具有多个文件:Python 从类的交叉引用中省略模块名称 背景,python,python-sphinx,cross-reference,Python,Python Sphinx,Cross Reference,我有一个名为的项目,该项目由;该项目的文档是 具有多个文件: ciscoconfparse.py包含类ciscoconfparse和IOSConfigList models\u cisco.py包含一个名为IOSCfgLine 这是我如何记录IOSCfgLine的一个例子 .. module:: models_cisco IOSCfgLine Object ----------------- .. autoclass:: IOSCfgLine :members:
包含类ciscoconfparse.py
和ciscoconfparse
IOSConfigList
包含一个名为models\u cisco.py
IOSCfgLine
IOSCfgLine
的一个例子
.. module:: models_cisco
IOSCfgLine Object
-----------------
.. autoclass:: IOSCfgLine
:members:
:inherited-members:
现有的Sphinx文档具有可怕的类超链接,包括文件名和类名;一个例子是models\u cisco.IOSCfgLine
示例文档屏幕截图:
问题:
如何使用
autoclass
记录各种Python文件中的类,并仅在呈现的文档中看到类名,而不是类中包含的文件名?换句话说,我只想看到指向IOSCfgLine
的超链接,而不是models\u cisco。IOSCfgLine
要仅在链接中看到名称本身,可以在链接中使用~
:
:class:`~models_cisco.IOSCfgLine`
这将呈现为IOSCfgLine
,而不是models\u cisco.IOSCfgLine
但是,如果我在代码库中正确地看到它,那么所有类都可以在顶级包名称空间中使用。因此,您也可以这样记录它们(因此没有
.module::models\u cisco
,但是.module::ciscoconfparse
)