我正在学习 Django,遇到了 2 组特殊字符,我以前从未见过这样使用过。我可以猜测它们在示例中的用途,但不了解它们的范围。
他们是:
{% if registered %}
{{ user_form.as_p }}
我添加了if registered
and user_form.as_p
在上下文中。我只关心{% %}
and {{ }}
它的一部分。
- 这些仅在 Django 中使用还是也在 Python 中使用?
- 各自的含义是什么?
- 还有其他类似的人物设定吗?
这些是出现在 django 模板中的特殊标记。您可以在以下位置阅读有关语法的更多信息django 模板语言参考 https://docs.djangoproject.com/en/1.9/ref/templates/language/在文档中。
{{ foo }}
- 这是模板中变量的占位符foo从视图传递到模板。
{% %}
- 当文本被这些分隔符包围时,意味着正在运行一些特殊的函数或代码,其结果将放置在这里。当内部文本不是从视图传递到模板,而是正在执行的模板语言本身的函数或功能(如 for 循环或 if 条件)时使用它。您可以创建自己的模板语言扩展,称为模板tags.
{{ foo|something }}
- 这是您可能遇到的另一种语法。这|something
is a 模板过滤器。通常用于转换左边项的结果|
象征。例如{{ foo|title }}
.
您可以阅读有关标签和过滤器的更多信息,它们被称为模板内置函数 https://docs.djangoproject.com/en/1.9/ref/templates/builtins/在文档中。
这种语法并不是 django 独有的 - Python 中的许多其他模板语言(以及 Python 之外的一些)都采用了类似的语法。
Python 语言没有相同的语法,但它确实有这样的概念:字符串模板 https://docs.python.org/2/library/string.html#template-strings这是模板引擎的一个非常简化的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)