【问题标题】:How to use conditional if statements in Jinja 2?如何在 Jinja 2 中使用条件 if 语句?
【发布时间】:2018-06-18 13:43:44
【问题描述】:

所以我是 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 语句中匹配它。帮助将不胜感激。

【问题讨论】:

  • 如果您的问题已得到解答,请接受答案。其他的都是粗鲁的。谢谢。
  • 我不会说这必然是粗鲁的,但是是的,如果问题得到解决,OP 接受答案是个好主意,如果没有,在 cmets 中进行交互和/或编辑帖子澄清为什么当前的答案还不够。据我所知,由于 OP 之前没有接受过答案,他们可能希望阅读what to do when someone answers my question?how does accepting an answer work? 并接受tour

标签: python django django-templates jinja2


【解决方案1】:

注意:混乱是一个变量

以下代码语法用于在 Python 语言中使用“for loop”和“if statements”以及 HTML 文件中的 Jinja:

{% 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 %}

【讨论】:

    【解决方案2】:

    一般的条件语法是这样的:

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

    文档还有更多examples

    【讨论】:

    • 你知道我如何将用户输入存储到 jinja 变量中
    • @ArjunKashyap 只需将用户输入值传递给模板上下文,就像传递其他变量一样。
    • @ArjunKashyap 这篇文章刚刚出现在我的屏幕上。它被撞了,因为它没有被标记为已回答。我觉得这个答案对您有所帮助,所以请将其标记为已接受,这样该帖子就不会再次出现,并且其他没有答案的帖子也会出现。
    猜你喜欢
    • 2016-12-04
    • 2021-05-04
    • 1970-01-01
    • 2016-07-16
    • 2020-01-26
    • 2016-02-28
    • 2021-08-03
    • 2016-05-28
    • 1970-01-01
    相关资源
    最近更新 更多