提问人:jayuu 提问时间:12/4/2016 更新时间:12/4/2016 访问量:197
Django - 将 flatpage.title 变量作为 include 的一部分传递
Django - passing flatpage.title variable as part of an include
问:
我正在使用 Django 平面页面并尝试将平面页面的标题作为 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中 - 这似乎呈现了我所期望的正确的“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>
答:
1赞
Messaoud Zahi
12/4/2016
#1
您不需要将参数括在模板标记的 {{ }} 括号中。
如果它是变量,而不是字符串,则不要使用 “” 引号。
以下方法应该有效:
{% block navbar %}
{% include 'navbar.html' with active=flatpage.title %}
{% endblock %}
有关详细信息,请参阅“包含”部分
评论
0赞
jayuu
12/4/2016
是的,你是对的。我可以发誓我试过这个,但我想不合适。也感谢您提供文档链接。
评论