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

时间:2012-04-05 14:05:50

标签: python python-sphinx

我在conf.py中有以下内容:

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

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

:base_url:/my_app/api/application/

但它只打印:base_url:而不是实际的网址。

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

2 个答案:

答案 0 :(得分:19)

为了替换链接 extlinks 没问题,为了包含问题中提到的任意配置值,您可以使用rst_epilog替换(或rst_prolog替换文字,应该添加在.rst文件之上):

在conf.py中:

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

在你的第一个来源:

  

我的配置值是| my_conf_val |!

在你的输出中:

  

我的配置值是42!

答案 1 :(得分:3)

啊哈!

查看http://sphinx.pocoo.org/ext/extlinks.html

上的 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/