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解析xml模块封装代码
Feb 07 Python
python调用windows api锁定计算机示例
Apr 17 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
Python 删除连续出现的指定字符的实例
Jun 29 Python
python画一个玫瑰和一个爱心
Aug 18 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
Python3 实现串口两进程同时读写
Jun 12 Python
python实现人工智能Ai抠图功能
Sep 05 Python
Python pandas库中的isnull()详解
Dec 26 Python
python numpy库np.percentile用法说明
Jun 08 Python
python 实用工具状态机transitions
Nov 21 Python
Python闭包的定义和使用方法
Apr 11 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
PHP学习笔记之数组篇
2011/06/28 PHP
php缓冲 output_buffering的使用详解
2013/06/13 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
JS打印gridview实现原理及代码
2013/02/05 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
jQuery元素选择器用法实例
2014/12/23 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
详解Python发送邮件实例
2016/01/10 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
高中地理教学反思
2014/01/29 职场文书
音乐器材管理制度
2014/01/31 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
青年标兵事迹材料
2014/08/16 职场文书
社区娱乐活动方案
2014/08/21 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
工作失误检讨书
2015/01/26 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python