Django'if和'模板

时间:2013-02-19 12:31:34

标签: python django

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

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

但我收到错误: 在表达式结束时未使用的'myValue'

如何在模板中执行If AND?

4 个答案:

答案 0 :(得分:21)

试试这个:

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

请参阅有关在django模板中使用boolean-operatorscomplex-expressions的django文档。

答案 1 :(得分:14)

应该是这样的:

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

答案 2 :(得分:1)

Django docs on boolean operators

  

应该是这样的

     
      
  1. view.py
  2.   
def posts_request(request):  
    message=ApplyPost.objects.filter( blah blah)
    if message:
       return render (request,'blah.html',{'message':message})
  
      
  1. blah.html
  2.   
{% 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 %}

请注意并且优先顺序高于或者,并且括号不可能。如果需要,使用嵌套块

答案 3 :(得分:0)

我认为您可能需要在两个陈述中将ififequal分开:

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