Django HTML模版

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

语法(模版文件中):

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

语法(其它HTML文件中):

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

示例:

1)创建一个模版页面

<!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

<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}<!-- 填充第一个block --><style>h2{color: red;}</style>
{% endblock %}{% block content2 %}<!-- 填充第二个block --><h2>我是page1,我引入了模版的内容</h2>
{% endblock %}

页面效果:

page2.html

<!--引用layout.html模版-->
{% extends '模版示例/layout.html' %}
{% block content1 %}<!-- 填充第一个block --><style>h2{color: pink;}</style>
{% endblock %}{% block content2 %}<!-- 填充第二个block --><h2>我是page2,我引入了模版的内容</h2>
{% endblock %}

页面效果:

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/549265.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络编程 - 套接字

1、预备知识 1.1、理解源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址&#xff1b; 思考: 我们光有IP地址就可以完成通信了嘛? 想象一下发qq消息的例子, 有了IP地址能够把消息发送到对方的机器上, 但是还需要有一个其他的标识来区分…

深度学习-part3(反向传播、GAN)

5. 反向传播 5.1 什么是反向传播&#xff1f;‍ 通俗解释&#xff1a;类比几个人站成一排&#xff0c;第一个人看一幅画&#xff08;输入数据&#xff09;&#xff0c;描述给第二个人&#xff08;隐层&#xff09;……依此类推&#xff0c;到最后一个人&#xff08;输出&…

【氮化镓】利用Ga2O3缓冲层改善SiC衬底AlN/GaN/AlGaN HEMT器件性能

Micro and Nanostructures 189 (2024) 207815文献于阅读总结。 本文是关于使用SiC衬底AlN/GaN/AlGaN高电子迁移率晶体管&#xff08;HEMT&#xff09;的研究&#xff0c;特别是探讨了不同缓冲层对器件性能的影响&#xff0c;以应用于高速射频&#xff08;RF&#xff09;应用。…

电商评论数据聚类实验报告

目录 实验目的整体思路数据介绍代码与实验步骤 4.1 爬虫代码 4.2 数据清洗 4.3 分词 4.4 去停用词 4.5 计算TF-IDF词频与聚类算法应用 4.6 生成词云图实验结果 5.1 词云图 5.2 聚类结果分析不足与反思参考资料 1. 实验目的 掌握无监督学习问题的一般解决思路和具体解决办法&…

22款Visual Studio Code实用插件推荐

前言 Visual Studio Code是一个轻量级但功能强大的源代码编辑器&#xff0c;轻量级指的是下载下来的Visual Studio Code其实就是一个简单的编辑器&#xff0c;强大指的是支持多种语言的环境插件拓展&#xff0c;也正是因为这种支持插件式安装环境开发让Visual Studio Code成为…

工控机的无限可能2--智慧城市

一、智能柜 随着网络技术的发展&#xff0c;网购因方便快捷、价格优惠、不受时空限制等优势已成为用户重要的消费方式。快递员因满柜&#xff0c;或柜型单一不能投递&#xff0c;只能将快件堆放在车上或公共过道处苦等&#xff0c;快递、资产管理也随之出现。 如下&#xff0…

如何将OpenCV Java 与Eclipse结合使用

返回目录&#xff1a;OpenCV系列文章目录 上一篇&#xff1a;OpenCV-Java 开发简介 下一篇&#xff1a; 正文&#xff1a; 警告&#xff1a;本教程可以包含过时的信息。 从 2.4.4 版本开始&#xff0c;OpenCV 支持 Java。在本教程中&#xff0c;我将解释如何设置开发环境&a…

杂记8---多线激光雷达与相机外参标定

背景&#xff1a;本人开源的标定程序&#xff0c;提供大家参考学习 基于棋盘格的多线激光雷达和鱼眼/针孔模型相机外参标定的程序 前言 标定数据&#xff0c;只需要一个棋盘格标定板。把标定板放置lidar 与camera 共视区域&#xff0c;拜拍几个pose进行采集。 基于简谐原则…

2023 PWNHUB 3月赛-【tt】

文章目录 setcbuf泄露栈地址转换scanf栈地址思路exp setcbuf 代码 setvbuf(stdin, 0LL, 2, 0LL); setvbuf(stdout, 0LL, 2, 0LL); setvbuf(stderr, 0LL, 2, 0LL); 是用来设置标准输入、标准输出和标准错误流的缓冲模式的。 setvbuf 函数的原型如下&#xff1a; int setvbuf(…

超越标签的探索:K-means与DBSCAN在数据分析中的新视角

最近在苦恼为我的数据决定分组问题&#xff0c;在查找资料时&#xff0c;恰好看到机器学习中的无监督学习的聚类分析&#xff0c;正好适用于我的问题&#xff0c;但是我之前学机器学习时。正好没有学习无监督部分&#xff0c;因为我认为绝大多数问题都是有标签的监督学习&#…

Linux课程四课---Linux第一个小程序(进度条)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

快速搭建一个一元二次方程flask应用

新建flask_service目录、templates子目录 flask_service —— app.py —— templates —— —— index.html app.py from flask import Flask, request, jsonify, render_template import random import matplotlib.pyplot as plt from io import BytesIO import base64app F…