You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS中是否存在block、endblock命令?相关模板代码运行逻辑解析

问题解答

关于block和endblock的归属

首先明确:block和endblock不属于CSS语法,你看到的是后端模板引擎的专属语法,以你给出的代码格式来看,这是Python生态常用的Jinja2模板语法(Flask、Django等框架默认都会集成该模板引擎),仅作用于服务端模板渲染阶段,和前端CSS没有任何关联。

上述代码的运行逻辑

你用到的是模板引擎的模板继承能力,运行逻辑如下:

  • base.html是父模板,你在其中编写的{% block page_content %}{% endblock %}作用是在父模板的对应位置预留了一个名为page_content的可覆写占位区域,父模板的其他固定内容(比如后续可能加的公共头部、底部、公共CSS/JS引入)都会被所有继承它的子模板复用。
  • Hello_World.html是子模板,第一行代码{% extends "base.html"}的作用是声明该子模板完整继承base.html的所有内容,无需重复编写父模板里已经存在的公共代码。
  • 子模板中编写的{% block page_content %}<h1>Hello, World!</h1>{% endblock %}作用是覆写父模板中预留的page_content占位区域的内容,你在该block标签内写的所有内容,都会替换掉父模板中对应block的位置。

当服务端渲染Hello_World.html时,模板引擎会自动合并父子模板的内容,最终输出给浏览器的HTML会包含父模板的所有公共内容,同时在page_content对应的位置输出你写的<h1>Hello, World!</h1>内容。

内容的提问来源于stack exchange,提问作者Icon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 13:45:03