19

我有以下内容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。

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

4

2 回答 2

24

对于链接的替换,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!

于 2012-04-06T10:11:20.193 回答
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/
于 2012-04-06T02:13:09.740 回答