1

我正在使用 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>

它似乎无法正确渲染。而如果我用硬编码值替换 {{flatpage.title}} 即。'家'它工作得很好。

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

我不能这样做吗?

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

<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>
4

1 回答 1

1

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

如果它是一个变量,而不是一个字符串,那么不要使用 "" 引号。

以下应该有效:

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

请参阅包含部分以获取更多信息

于 2016-12-04T00:19:23.557 回答