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中的sort方法使用详解
Jul 25 Python
详细解析Python当中的数据类型和变量
Apr 25 Python
Numpy数组的保存与读取方法
Apr 04 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
python json.dumps中文乱码问题解决
Apr 01 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
django的autoreload机制实现
Jun 03 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
python3 循环读取excel文件并写入json操作
Jul 14 Python
Python字典实现伪切片功能
Oct 28 Python
python基础详解之if循环语句
Apr 24 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递归复制、移动目录的自定义函数分享
2014/11/18 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
Zend Framework前端控制器用法示例
2016/12/11 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
Ajax 数据请求的简单分析
2011/04/05 Javascript
document.write的几点使用心得
2014/05/14 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
JSON 数据格式详解
2017/09/13 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
python用requests实现http请求代码实例
2019/10/31 Python
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
工程专业毕业生自荐信范文
2013/12/25 职场文书
学习演讲稿范文
2014/05/10 职场文书
体现团队精神的口号
2014/06/06 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server