Ich versuche, auf s zu zeigen div
abhängig, ob ein Datenbankeintrag vorgenommen wurde:wenn die Variable und Variable definiert ist - jinja2
<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>
Dies ist ein vereinfachtes Schnipsel - das Muster geht weiter. Grundsätzlich, wenn der Titel in der Datenbank ist, zeigen Sie nur div1
, wenn sowohl title 1
als auch title 2
sind in der Datenbank zeigen div1
und div2
und so weiter.
Momentan zeigt diese Art von Arbeiten, wie es zeigt die div
Ich möchte zeigen, aber aus irgendeinem Grund zeigt es auch die nächste. Wenn ich Titel für div 1
haben zeigt es 1
und 2
, wenn ich einen Titel für div 1
haben und 2
es zeigt 1, 2, and 3
Ich bin wirklich verwirrt, wie ich Jinja2 wirklich neu bin. Ich bin nicht sicher, ob es meine Positionierung der Syntax im HTML ist, oder wenn die Syntax falsch ist, oder wenn Sie nicht in der Lage sind, über zwei Variablen zu überprüfen ... jede Hilfe würde geschätzt werden.
sind Sie sicher, dass die jinja Variablen nicht im Kontext definiert? Sie können dies immer testen, indem Sie das {% if post.wrk_1_title, das in zwei ifs definiert ist und post.wrk_2_title%% definiert ist, aufteilen und im resultierenden HTML nachsehen. – voscausa
@vocausa Ich denke, ich bin nicht sicher, was definiert bedeutet, ich nahm an, wenn ein Eintrag in der Datenbank gemacht wird, aber nichts von der Formularübergabe hinzugefügt wird, dass bedeutet, dass, wenn dieser Eintrag aus der Datenbank abgerufen wird seine "undefined" zunächst dachte ich es würde als "None" erscheinen, aber es scheint, dass es einen Eintrag macht ... vielleicht eine leere Zeichenfolge? Wenn Sie also nach "Definiert" suchen, wenn es einen Eintrag gibt, wird dieses div angezeigt. – Jesse
Eine Variable mit dem Wert None ist definiert. Nicht definiert bedeutet: Die Variable ist nicht bekannt. – voscausa