Django - 传递 flatpage.title 变量作为包含的一部分

Django - passing flatpage.title variable as part of an include

我正在使用 Django flatpages 并尝试将 flatpage 的标题作为 html 包含的一部分传递。

{% block navbar %}
  {% include 'navbar.html' with active='{{flatpage.title}}' %}
{% endblock %}

这样我就可以在导航栏中突出显示行踪。

<ul class="nav navbar-nav">
  <li class="{% if active == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Home</a></li>
  etc.
</ul>

它似乎没有正确呈现。而如果我用 hard-coded 值替换 {{flatpage.title}} 即。 'home' 效果很好。

{% block navbar %}
  {% include 'navbar.html' with active='home' %}
{% endblock %}

我做不到吗?

我不清楚调试 Django 模板以检查这些值的方法...我目前检查变量是否传递正确值的方法只是引用 {{flatpages.title}} 在其他地方,分别在 html 中 - 它似乎呈现了我期望的正确 'home' 值。

<div id="navbar" class="navbar-collapse collapse">
  <ul class="nav navbar-nav">
     <li class="{% if active == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Home</a></li>
     {{flatpage.title}}
     etc.
  </ul>
</div>

您不需要在模板标签中将参数括在 {{ }} 括号中。

如果是变量而不是字符串,则不要使用 "" 引号。

以下应该有效:

 {% block navbar %}
   {% include 'navbar.html' with active=flatpage.title %}
 {% endblock %}

有关详细信息,请参阅 include 部分