首页 > 解决方案 > 如何用 sphinx 记录可链接常量

问题描述

我怎样才能正确地记录一个常量,比如foo = 4 在 Python(3) Code with Sphinx 中,我可以使用类似 :attr:`foo` 的方式访问它们?

我当前的解决方案是创建一个类并将常量移动到属性中:

class Constants:
    @property
    def foo(self):
        """Cool Documentation."""
        return 4

然后在 classes.rst 文件中添加:

..autoclass:: Constants
   :members:

Constants然而,这不应该是正确的方法,因为它迫使我在我的代码中携带一个实例。

以防万一:我使用的是 Numpy 风格

标签: pythonconstantspython-sphinx

解决方案


我为我的问题找到了一个合理的解决方案。我添加了一个文件constants.py

    #: :obj:`int` : 
    #: Cool documentation about foo
    foo = 4

并且classes.rst我添加了这些行

    .. automodule:: MODULE_WHERE_THE_FILE_IS_IN.constants
        :members:

这将创建 foo 常量的文档,我可以创建链接foo

    :const:`MODULE_WHERE_THE_FILE_IS_IN.constants.foo`

或者

    :const:`~MODULE_WHERE_THE_FILE_IS_IN.constants.foo`

推荐阅读