如果模板fi中的语句不起作用

2024-09-27 09:36:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django的if语句中遇到了一个奇怪的情况。看来django没有看到,我也不知道为什么

我的模板文件:

            <div class="article-intro">
                <p>{{ article.jezyk }} </p>
                {% if article.jezyk = 'EN' %}   
                      {% for sala in sala %}
                                     <div>{{ sala }}</div>
                      {%endfor %}                     
                {% endif %}       
            </div>

看起来是这样的: enter image description here

正如我们在图片标签上看到的:

{{ article.jezyk }}

返回值“EN”

那么为什么“如果statment”不起作用呢?有什么解释吗?你知道吗

我的视图.py你知道吗

from django.shortcuts import render_to_response
from articles.models import Article
from sale.models import Sala
from godzina.models import Godzina
from jezyk.models import Jezyk


def articles(request):
    return render_to_response('articles.html',{'articles' : Article.objects.all(),'godzina': Godzina.objects.all(),'sala': Sala.objects.order_by('jezyk') })

Tags: todjangofromimportdivifobjectsmodels
2条回答
  1. 试试这个ifequal

例如

{% ifequal article.jezyk 'EN' %}
  <!  Ur code  >

{% endifequal %}
  1. 使用==运算符

例如

{% if somevar == "x" %}
  This appears if variable somevar equals the string "x"
{% endif %}

文档:link

  1. 在for循环中使用其他变量名。迭代器使用相同的sala变量。你知道吗

例如:

{% for i in sala %}
      <div>{{ i }}</div>
{% endfor %}

你又一次没有提供必要的信息来回答你的问题,即模型。但是我们从你之前的问题中知道文章.jezyk是一把外国钥匙。当您在模板中输出FK字段时,它将打印unicode方法的结果,但这并不意味着它们实际上相等。您需要比较字段本身,例如:

{% if article.jezyk.language = 'EN' %} 

或者包含语言代码的Jezyk模型上的任何字段。你知道吗

相关问题 更多 >

    热门问题