Как использовать значения конфигурации в шаблонах? - PullRequest
3 голосов
/ 15 марта 2012

Я установил значение конфигурации 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 Ответ

2 голосов
/ 21 марта 2012

Вы хотите передать значение конфигурации параметр html-контекста .Насколько я понимаю, в шаблонах будут доступны только переменные , определенные Sphinx , и переменные в этом словаре.Я не уверен, как именно это будет взаимодействовать с тем, как вы устанавливаете переменную конфигурации, если вы хотите сделать это так, как вы описали в своем другом вопросе , но это должно быть выполнимо.Просто помните, что файл conf.py на самом деле просто Plain Old Python.

...