如何在Jinja 2中使用条件if语句?

时间:2018-01-09 13:47:47

标签: python django django-templates jinja2

所以我是Django的新手,可以使用一些帮助。 我使用for循环来显示数据库中的列表。但我想添加一个if语句,如果用户输入与我的数据库项匹配,则只应显示它。看看:

{%for inc in all_items%}
    <ul>                 
        {#I want to add an if statement here, if user input == inc_element#}
        <li><p>{{inc.item_name}}<p></li>
    </ul>
    <hr>
{%endfor%}

我知道我必须使用HTML论坛来获取用户输入。但是如何在if语句中匹配它。帮助将不胜感激。

2 个答案:

答案 0 :(得分:6)

一般条件语法是这样的:

{% if some_variable == some_value %}
    {{ do_something }}
{% endif %}

文档还有更多examples

答案 1 :(得分:1)

注意:混乱是一个变量

以下在Python语言中与HTML文件中的Jinja一起使用“ for循环”和“ if语句”的代码语法:

{% for mess in get_flashed_messages() %}
    {%if mess == "Your Dog's breed is rufus"%}
      {{mess}} 
    {% else %}
      {{"Don't you have any other breed?"}}
      {% endif %}      
    {% endfor %}

如果您在HTML文件中将Jinja与Bootstrap结合使用,则下面是代码:

{% for mess in get_flashed_messages() %}
    {%if mess == "Your Dog's breed is rufus"%}
     <div class="alert alert-warning alert-dismissible fade show" role="alert">
      {{mess}} 
    {% else %}
    <div class="alert alert-warning alert-dismissible fade show" role="alert">
      {{"Don't you have any other breed?"}}
      {% endif %}      
      <button type="button" class="close" data-dismiss="alert" aria-label="Close">
        <span aria-hidden="true">&times;</span>
      </button>
    </div> 
    </div>
    {% endfor %}