Django {%block%}解释

时间:2016-10-15 23:59:26

标签: django django-templates django-cms

我是Django初学者,我想尝试学习一些Django-CMS基础知识。

当我开始编辑安装程序生成的默认模板时,我注意到有{% block ... %}块,但我找不到任何关于block的含义或更具体的{{{}的文档。 1}}和block title意味着。

Django和Django-CMS文档都没有这样的解释,这很奇怪,因为这看起来非常基本。当我删除block content块时,标题搞砸了。

我正在使用:

  • Django 1.8.15
  • django-cms 3.4.1。

1 个答案:

答案 0 :(得分:1)

您看到的{% block %} ... stuff {% endblock %}内容用于制作可重复使用的HTML片段(或部分或块)。在Django中,他们使用名为Jinja(Jinja2)的子系统。

请注意,您将看到的语法并不是Jinja独有的。这个想法是编程语言和框架使用一个组件来允许封装HTML模式。我们将这些称为Web Templating system,有时将它们称为"逻辑较少"。即使我们可以循环并做条件。

在Jinja(和其他类似的语法子系统)中,blocks是我们可以重复使用的部分。 A"宏"如果你想。 Jinja也有宏,你也可以添加参数来影响输出的生成方式。