Django HTML模版

一个网站的基本框架(如页面布局、导航栏、页脚栏等)往往是相同的。可以把这个基本框架做成一个模版,其它正式的HTML页面可以直接套用这个模版,可以大减少各HTML文件的代码量。

语法(模版文件中):

html 复制代码
{% block content1 %}
	<!--创建一个块,其它HTML文件可以些区间填充内容,content1为块的名称,一个模版文件可以创建多个块-->
{% endblock %}

语法(其它HTML文件中):

html 复制代码
<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}
	<!-- 这在个区域里填充HTML代码,content1为块的名称,需要和模版文件中的对应 -->
	
{% endblock %}

示例:

1)创建一个模版页面

html 复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>模版示例</title>
		<style>
			#nav{
				width: 1280px;
				height: 100px;
				background-color: aqua;
				
			}
			#foot{
				width: 1280px;
				height: 100px;
				background-color: blue;
				
			}
		</style>
		{% block content1 %}
					<!--创建一个块,可用于写一些CSS等-->
		{% endblock %}
	</head>
	<body>
		<div id='nav'>
			<h1>导航区</h1>
		</div>
		<div>
			<h1>内容区</h1>
			{% block content2 %}
						<!--创建一个块,可用于写网页的实际内容-->
			{% endblock %}
		</div>
		<div id='foot'>
			<h1>页脚区</h1>
		</div>
		{% block content3 %}
					<!--创建一个块,可用于写js代码等内容-->
		{% endblock %}
	</body>
</html>

模版页面效果:

2)正式HTML文件引用模版

page1.html

html 复制代码
<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}
	<!-- 填充第一个block -->
	<style>
		h2{
			color: red;
		}
	</style>
{% endblock %}

{% block content2 %}
	<!-- 填充第二个block -->
	<h2>我是page1,我引入了模版的内容</h2>
{% endblock %}

页面效果:

page2.html

html 复制代码
<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}
	<!-- 填充第一个block -->
	<style>
		h2{
			color: pink;
		}
	</style>
{% endblock %}

{% block content2 %}
	<!-- 填充第二个block -->
	<h2>我是page2,我引入了模版的内容</h2>
{% endblock %}

页面效果:

这里我们发现,page1和page2的导航区和页脚区的内容都是一样的,是从模版中引入的,只需要写填充内容区即可。代码量大大减少。

而且,如果需要修改导航区和页脚区的内容,只需要修改模版文件即可。

相关推荐
程序员爱钓鱼5 分钟前
Python编程实战 · 基础入门篇 | 什么是Python
后端·python
程序猿小D6 分钟前
【完整源码+数据集+部署教程】遥感图像道路检测分割系统源码和数据集:改进yolo11-CARAFE
python·yolo·计算机视觉·目标跟踪·数据集·yolo11·遥感图像道路检测分割系统
zy_destiny13 分钟前
【工业场景】用YOLOv8实现人员打电话识别
人工智能·python·深度学习·yolo·机器学习·计算机视觉·目标跟踪
FreeBuf_13 分钟前
Happy DOM曝CVSS 9.4严重RCE漏洞,PoC已公开(CVE-2025-61927)
java·c语言·c++·python·php
C嘎嘎嵌入式开发25 分钟前
(10)100天python从入门到拿捏《Python中的数据结构与自定义数据结构》
数据结构·python·算法
程序员杰哥27 分钟前
Pytest与Unittest测试框架对比
自动化测试·软件测试·python·测试工具·测试用例·excel·pytest
一只小风华~33 分钟前
Vue Router 导航守卫
java·前端·javascript·vue.js·笔记·html
wxin_VXbishe1 小时前
基于SpringBoot的天天商城管理系统的设计与现-计算机毕业设计源码79506
java·c++·spring boot·python·spring·django·php
睿思达DBA_WGX1 小时前
使用 python-docx 库操作 word 文档(3):读取word文档的内容
python·word
这里有鱼汤1 小时前
别再凭感觉画股票箱体了!用DBSCAN让你的策略更稳、更准、更客观
后端·python