Django模板中的{{}}和{% %}有什么区别?

10
我非常新手地使用django并在上面工作。我访问了一个html文件,不知道在这里使用的{{}}和{% %}之间的区别。

{{ }}是用于将变量渲染到HTML中,而{% %}用于在模板中执行控制流语句(例如for循环和if语句)。

{% load static %}

非常感谢


请阅读文档:https://docs.djangoproject.com/en/2.0/topics/templates/#the-django-template-language - jonrsharpe
5个回答

16

您可以使用以下方法:

  • {% %} 用于条件语句(如iffor)或调用标签(如 load, static 等)。

  • {{ }} 将变量呈现在模板中。

详见Django文档


2
有人在新年里感到不开心。 - Jason

6

{% %}用于显示代码,{{}}用于显示变量。


4
在Django的模板中有三种东西。第一是模板变量,第二是模板标签,第三也是最后一个是模板过滤器。所以我们用{{}}来写模板变量,用{% %}来写模板标签,最后是用{{variable |filter:arg}}来写模板过滤器。

2

我也是Django的新手,如果我有错,请有经验的人纠正我。 它们之间的区别是:

{{variable}}用于使用变量。当模板遇到一个变量时,它会计算该变量并将其替换为结果。

您还可以使用过滤器{{variable|filter}},例如:{{name|length}}在这种情况下,您将使用一个变量"name"并返回该变量的长度。

{%tag%}可用于循环或逻辑,或加载外部信息到模板中以供稍后使用变量。您可以创建块标记来帮助扩展其他HTML文件的部分。您还可以创建自定义标记。

学习如何创建自定义标记的好地方: https://www.codementor.io/hiteshgarg14/creating-custom-template-tags-in-django-application-58wvmqm5f

像循环和块这样的标记需要关闭。


1

{% %} 用于IF ELSE条件语句和FOR循环等编程相关内容。

{{ }} 用于从视图函数中呈现的变量,也可用于FOR循环中的变量。

         `enter code here`
{% for obj in qs%}  
    {{ obj.veriable_name }}
{% endfor %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接