13

我想在我的 django html 页面中执行以下操作:

{% if myList|length and ifequal myValue 'somestring' %}
blah blah
{% endif %}

但我得到错误: 未使用的'myValue'在if表达式的末尾

如何在模板中执行 If AND?

4

4 回答 4

34

尝试这个:

{% if myList|length and myValue == 'somestring' %}
    blah blah
{% endif %}

有关在 django 模板中使用布尔运算符复杂表达式的信息,请参阅 django 文档。

于 2013-02-19T12:37:28.937 回答
17

应该是这样的:

{% if myList|length and myValue == 'somestring' %}
   blah blah
{% endif %}
于 2013-02-19T12:36:04.417 回答
1

关于布尔运算符的 Django 文档

应该是这样的

  1. 视图.py
def posts_request(request):  
    message=ApplyPost.objects.filter( blah blah)
    if message:
       return render (request,'blah.html',{'message':message})
  1. 废话.html
{% if message %}
     {% for post in message %}
          {% if post.provider %}
              ....
          {% endif %}
          {% if post.accept == True and post.provider %}
              ...
              ...
          {% endif %}
          ....You can add multiple if,elif, with Operators ....
    {% endfor %}
{% if message %}

{% if a == b or c == d and e %}

请注意,and 的优先级高于 or,并且括号是不可能的。如果需要,使用嵌套块

于 2018-01-29T12:33:09.640 回答
0

我认为您可能必须将两个语句中的 theif和 the分开:ifequal

{% if myList|length  %}
     {% ifequal myValue 'somestring' %}
          blah blah
     {% endifequal %}
{% endif %}
于 2013-02-19T12:36:00.900 回答