如何在 Sphinx .rst 文件中输出配置值?

问题描述 投票:0回答:3

我在

conf.py
中有以下内容:

def setup(app):
    app.add_config_value('base_url','http://localhost:2000', True)

如何将其放入我的 .rst 文件中?我写了这个:

:base_url:/my_app/api/application/

但它只打印

:base_url:
而不是实际的 URL。

如何获取要发出的实际配置值?

python python-sphinx
3个回答
26
投票

对于链接的替换 extlinks 很好,为了包含问题中所要求的任意配置值,您可以使用 rst_epilog 进行替换(或 rst_prolog 进行文本,应添加到 .rst 文件顶部) :

在你的conf.py中:

my_config_value = 42
rst_epilog = '.. |my_conf_val| replace:: %d' % my_config_value

在您的.rst 来源中:

我的配置值为 |my_conf_val|!

在你的输出中:

我的配置值为42!


3
投票

啊哈哈!

查看 sphinx.ext.extlinks 模块。

所以我的conf.py中有执行此操作的代码:

extlinks = {'api_url' : (settings.BASE_URL + '%s', settings.BASE_URL)}

在我的 .rst 文件中,我有这个:

:api_url:`/myapp/api/application/`

它会生成格式良好的链接,如下所示:

http://localhost:8000/myapp/api/application/

0
投票

您可以在任何 .rst 文件中插入任何 conf.py 现有变量(仅版本有效):

conf.py:

version = "0.0.1"

第一个文件文本:

Version: |version|

结果:

编辑:正如@zakariya所说,这仅适用于版本,没有其他变量。

© www.soinside.com 2019 - 2024. All rights reserved.