Django框架下静态模板的继承操作示例


Posted in Python onNovember 08, 2019

本文实例讲述了Django框架下静态模板的继承操作。分享给大家供大家参考,具体如下:

前言:第一篇博客,毕业校招在即,抽空把做过的项目都整理一下。

开发环境:python3.4,django1.8

初入python和django做项目,遇到很多前端页面代码冗余的情况,特别是头部和脚部,代码都是一样的。最开始是代码一直复制粘贴,后来发现Django自带的模板继承很好用。本人新手,仅发表个人经验,确实觉得很受用。欢迎大家指导。

①. 定义一个基础模板,该框架之后由子模板继承。

命名为base.html,这个页面主要放公用部分的代码,各个子页面都可以继承这个页面的样式。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{% block title %}首页{% endblock %}</title>
  {% block js %} {% endblock %}
  {% block css %} {% endblock %}
</head>
<body> 
  {% block content %}{% endblock %}
</body>
</html>

②. 编写各个子模板。

如下所示,{% extends ‘base.html' %}作为基础模板,必须放在第一行才可以识别。

{% block %}这个标签,告诉模板引擎,子模板可以重载这些
{% include %}允许模板中包含其他模板。

注意css和js等静态文件,是和html不同的识别方式。

{% extends 'base.html' %}
<!-- 该页面不允许出现js以及css代码,content代码可直接写在本文件中,下面只是content的实例代码 -->
{% block title %}
  <!-- 此处写页面标题 -->
{% endblock %}
{% block js %}
  <!-- 此处填充js链接 -->
  <script type="text/javascript" src="..."></script>
{% endblock %}
{% block css %}
  <!-- 此处填充css链接 -->
{% endblock %}
{% block content %}
  <!-- 此处填充页面主体内容 -->
  {% include 'taskApp/cjjdglContent.html' %}
{% endblock %}

这种方式用起来,不仅改起来便捷,代码量也显然减少了不少。

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python使用cookielib库示例分享
Mar 03 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
python解析基于xml格式的日志文件
Feb 25 Python
Python实现点阵字体读取与转换的方法
Jan 29 Python
对pandas通过索引提取dataframe的行方法详解
Feb 01 Python
实例介绍Python中整型
Feb 11 Python
pyQt5实时刷新界面的示例
Jun 25 Python
Django的性能优化实现解析
Jul 30 Python
Python 获取numpy.array索引值的实例
Dec 06 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
利用python进行文件操作
Dec 04 Python
教你如何用Python实现人脸识别(含源代码)
Jun 23 Python
python中自带的三个装饰器的实现
Nov 08 #Python
python反转列表的三种方式解析
Nov 08 #Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 #Python
Python通过递归获取目录下指定文件代码实例
Nov 07 #Python
Django REST framework 单元测试实例解析
Nov 07 #Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 #Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 #Python
You might like
php 数组二分法查找函数代码
2010/02/16 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
php命令行用法入门实例教程
2014/10/27 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
python实现的登录和操作开心网脚本分享
2014/07/09 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
《自选商场》教学反思
2014/02/14 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫
Python自动化实战之接口请求的实现
2022/05/30 Python