【问题标题】:Django {% block %} explanationDjango {% block %} 解释
【发布时间】:2017-02-25 04:50:08
【问题描述】:

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

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

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

我正在使用:

  • Django 1.8.15
  • django-cms 3.4.1.

【问题讨论】:

  • @dahrens 好的,我刚刚又读了一遍,发现我错过了什么。我想我很困惑,因为 django cms 文档对此只字未提。谢谢。

标签: django django-templates django-cms


【解决方案1】:

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

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

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

【讨论】:

  • Django 的模板语言与金家分离。尽管在最近的版本中,您可以或者使用 Jinja。但是block 两者都存在。
  • 好电话。我没有验证它是单独的代码,还是语法的重新实现。
猜你喜欢
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 2016-05-18
  • 2018-03-28
相关资源
最近更新 更多