我正在尝试显示div
取决于是否已创建数据库条目:
<table class="info-table">
<tr><td>
<div class="info-table_titlebox">
{% if post.wrk_1_title is defined %}
<div class="info-title_title">
<h2>{{post.wrk_1_title}}</h2>
<h3>Facilitator: {{post.wrk_1_facilitator}}</h3>
<h4>Location: {{post.wrk_1_locate}}</h4>
<h4>Max participants: {{post.wrk_1_max}}</h4>
</div>
<div class="info-title_list">
<ul>
<li>{{post.eventday}} - <b>Week {{post.eventweek}}</b></li>
<li class="info-title_listright">{{post.wrk_1_time}}</li>
</ul>
</div>
<p>{{post.wrk_1_description}}</p>
{% endif %}
</div>
</td>
<td>
<div class="info-table_titlebox">
{% if post.wrk_1_title is defined and post.wrk_2_title is defined %}
<div class="info-title_title">
<h2>{{post.wrk_2_title}}</h2>
<h3>Facilitator: {{post.wrk_2_facilitator}}</h3>
<h4>Location: {{post.wrk_2_locate}}</h4>
<h4>Max participants: {{post.wrk_2_max}}</h4>
</div>
<div class="info-title_list">
<ul>
<li>{{post.eventday}} - <b>Week {{post.eventweek}}</b></li>
<li class="info-title_listright">{{post.wrk_2_time}}</li>
</ul>
</div>
<p>{{post.wrk_2_description}}</p>
{% endif %}
</div>
</td>
这是一个简化的片段 - 模式继续。基本上,如果标题在数据库中仅显示div1
,如果title 1
和title 2
都在数据库中显示div1
和div2
,依此类推。
目前这种作品显示我要展示的div
,但出于某种原因,它也显示了下一个。如果我有div 1
的标题,则会显示1
和2
,如果我有div 1
和2
的标题,则会显示1, 2, and 3
我真的很困惑,因为我对Jinja2很新。我不确定这是我在html中的语法定位,还是语法错误,或者如果你无法检查两个变量......任何帮助都将不胜感激。
答案 0 :(得分:32)
与Python一样,0
,None
,[]
,{}
和""
都是假的。除此之外的任何事情,都是真的。
“Jinja中的if语句与if语句相当 蟒蛇。在最简单的形式中,您可以使用它来测试变量是否 定义的,不是空的或不是假的:“
{% if post and post.wrk_1_title %}
{% endif %}