estoy tratando de mostrar div
s depende de si una entrada de la base de datos se ha realizado:si se ha definido variables y variables - 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>
Este es un fragmento simplificada - el patrón continúa. Básicamente si el título está en la base de datos, muestre solo div1
si ambos title 1
y title 2
están en la base de datos show div1
y div2
y así sucesivamente.
Actualmente este tipo de trabajo funciona como muestra el div
que quiero mostrar, pero por alguna razón muestra el siguiente también. Si tengo título para div 1
se nota 1
y 2
, si tengo un título para div 1
y 2
se muestra 1, 2, and 3
Estoy muy confundido como yo soy muy nuevo en Jinja2. No estoy seguro de si es mi posición de la sintaxis en el html, o si la sintaxis es incorrecta, o si no puede verificar dos variables ... cualquier ayuda sería apreciada.
¿seguro Jinja las variables no se definen en el contexto? Siempre puede probar esto dividiendo el {% si se define post.wrk_1_title y post.wrk_2_title se define%} en dos if's y mire en el html resultante. – voscausa
@vocausa Supongo que no estoy seguro de qué es lo que significa definido, asumí cuando se realiza una entrada en la base de datos pero no se agrega nada desde el envío del formulario que eso significa que cuando esta entrada se recupera de la base de datos es "indefinido" al principio aparecería como "Ninguno" pero parece que hace una entrada ... ¿quizás una cadena vacía? entonces al marcar "definido" si hay una entrada, se mostrará este div. – Jesse
Se define una variable con un valor Ninguno. No definido significa: la variable no se conoce. – voscausa