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中 ? : 三元表达式的使用介绍
Oct 09 Python
python分析apache访问日志脚本分享
Feb 26 Python
python 给DataFrame增加index行名和columns列名的实现方法
Jun 08 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
Mar 30 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
Python 循环读取数据内存不足的解决方案
May 25 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利用str_replace防注入的方法
2013/11/10 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
php强制运行广告的方法
2014/12/01 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
iview实现图片上传功能
2020/06/29 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python Django的web开发实例(入门)
2019/07/31 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
Python PIL库图片灰化处理
2020/04/07 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
html5与css3小应用
2013/04/03 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
记者岗位职责
2014/01/06 职场文书
拉歌口号大全
2014/06/13 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
教师研修随笔感言
2015/11/18 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
Mybatis是这样防止sql注入的
2021/12/06 Java/Android