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工程师面试题 与Python Web相关
Jan 14 Python
Python获取当前路径实现代码
May 08 Python
python 读写中文json的实例详解
Oct 29 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
python中的&amp;&amp;及||的实现示例
Aug 07 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
python实现串口通信的示例代码
Feb 10 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
通过文字传递创建的图形按钮
2006/10/09 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
javascript深入理解js闭包
2010/07/03 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
[55:47]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第三局
2016/02/27 DOTA
分享Python字符串关键点
2015/12/13 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
python基于opencv实现人脸识别
2021/01/04 Python
美国牛仔品牌:True Religion
2018/11/16 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
学校出纳员岗位职责
2014/03/18 职场文书
2014年库房工作总结
2014/11/26 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
婚礼父母答谢词
2015/01/04 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android