如何在模板中使用配置值?

时间:2012-03-15 08:55:29

标签: python-sphinx

我使用simple extension设置了配置值 big_logo 。我还测试了使用 sphinx.ext.ifconfig 设置配置值的方法,它似乎有效。

现在,我想在layout.html的模板中使用它 如下:

{% extends "!layout.html" %}
{% block header %}
    {%- if big_logo %}
       <div style="background-color: white;>
           <img src="{{ pathto("_static/" + big_logo, 1) }}" alt="logo" />
       </div>
    {% endif %}
{% endblock %}

然而,这不起作用; make html 产量:

Exception occurred:
File "...", line 7, in block "header"
   <img src="{{ pathto("_static/" + big_logo, 1) }}" alt="logo" />
UndefinedError: 'big_logo' is undefined

这似乎与基本主题的layout.html相同:

{%- block sidebarlogo %}
  {%- if logo %}
   <p class="logo"><a href="{{ pathto(master_doc) }}">
          <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>

我唯一的疑问是 conf.py 不会设置变量“logo”而是设置“html_logo”。

如何在模板中使用配置值?

1 个答案:

答案 0 :(得分:2)

您想要传递配置值the html context setting。根据我的理解,模板中只能使用变量defined by Sphinx和此词典中的变量。我不确定这将如何与您设置配置变量的方式相互作用,假设您想要像在other question中描述的那样进行,但它应该是可行的。请记住,conf.py文件实际上只是普通的旧Python。