【问题标题】:Wagtail page context in Streamfield templateStreamfield 模板中的 Wagtail 页面上下文
【发布时间】:2019-01-21 07:58:06
【问题描述】:

我有 StructBlock 和它自己的模板,在 StreamField 中。我正在尝试从所述模板访问页面对象。

{% load wagtailcore_tags article_tags %}

  {%  article_constants as constants %}
    <div id="interactions__combo__addition" class="col-md-6">
      <h3>
        {% include_block page.translated_title %}
        + 
        <span id="interactions-combo-addition-temp">?</span> =
      </h3>
      <div alt="dangerous to synergy bar" style="height:10px; width:100%">
      </div>
    </div>
    <div class="interactions__combo__result col-md-5">
      <h3 class="interactions__combo__result__title">
       {{ constants.select_element }}
      </h3>
      <p class="interactions__combo__result__description">
        {{ constants.none_selected_text }} 
        {% include_block page.colour %}.
      </p>
    </div>

{% include_block page.colour %}{% include_block page.translated_title %} 不渲染。

提前感谢您的帮助。

【问题讨论】:

    标签: django django-templates wagtail wagtail-streamfield


    【解决方案1】:

    在页面模板上输出 StreamField 时,您应该使用 {% include_block %} 标签。例如,如果您的 StreamField 名为 body,请在页面模板上使用 {% include_block page.body %}。这将确保来自外部模板的上下文变量(包括page)在您的 StructBlock 的模板中可用 - 如果您改用 {{ page.body }},则 StructBlock 模板将呈现,但无法访问来自外部的变量模板。

    不要将{% include_block %} 用于page 的不是StreamFields 的字段,例如page.translated_title

    【讨论】:

      猜你喜欢
      • 2016-10-29
      • 1970-01-01
      • 2019-05-08
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      相关资源
      最近更新 更多