Django中的{%}}和{{}}

pek*_*sus 15 django

我正在学习Django并遇到了两组我以前从未见过的特殊字符.我可以猜测它们在示例中的用途,但不了解它们的范围.

他们是:

  • {% if registered %}
  • {{ user_form.as_p }}

我在上下文中添加了if registereduser_form.as_pin.我只关心{% %}{{ }}它的一部分.

  • 这些只用在Django中还是用在Python中?
  • 每个人的意义是什么?
  • 还有其他类似的字符集吗?

Bur*_*lid 20

这些是出现在django模板中的特殊标记.您可以在文档中的django模板语言参考中阅读有关语法的更多信息.

{{ foo }}- 这是模板中的占位符,用于从视图传递给模板的变量foo.

{% %} - 当文本被这些分隔符包围时,这意味着有一些特殊的函数或代码在运行,并且其结果将放在此处.当内部文本未从视图传递给模板时使用它,而是正在执行的模板语言本身的函数或特征(如for循环或if条件).您可以创建自己的模板语言扩展,称为模板标记.

{{ foo|something }} - 这是您可能遇到的另一种语法.这|something是一个模板过滤器.它通常用于转换|符号左侧项目的结果.例如{{ foo|title }}.

您可以在文档中阅读有关标记和过滤器的更多信息,这些标记和过滤器称为模板内置文件.

这种语法并不是django独有的 - Python中的许多其他模板语言(以及Python之外的一些)采用了类似的语法.

Python语言没有相同的语法,但它确实具有字符串模板的概念,这是模板引擎的一个非常简化的版本.


Goc*_*cht 5

它们在文件(又名模板)中使用.html它们不是 python ,它们是Django 模板引擎的一部分。

您可以使用{% %}for 句子,例如:iffor,或 来调用标签,例如:loadstatic等。

您可以用来{{ }}在模板中渲染变量。