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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
Python实现telnet服务器的方法
Jul 10 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
python leetcode 字符串相乘实例详解
Sep 03 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
Python定时任务APScheduler的实例实例详解
Jul 22 Python
Python绘制股票移动均线的实例
Aug 24 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
Python模拟登录requests.Session应用详解
Nov 17 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正则校验用户名介绍
2008/07/19 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
学习jquery之一
2007/04/27 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python打开使用的方法
2019/09/30 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
社区学习雷锋活动总结
2014/04/25 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js