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求解水仙花数的方法
May 11 Python
python+Django+apache的配置方法详解
Jun 01 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
Python解决走迷宫问题算法示例
Jul 27 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
Mar 01 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 Python
Django单元测试工具test client使用详解
Aug 02 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
基于Python把网站域名解析成ip地址
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 set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
获取URL文件名后缀
2013/10/24 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
python中实现字符串翻转的方法
2018/07/11 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
django settings.py 配置文件及介绍
2019/07/15 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
木马的传播途径主要有哪些
2016/04/08 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
Python中如何定义一个函数
2016/09/06 面试题
有个性的自我评价范文
2013/11/15 职场文书
美发活动策划书
2014/01/14 职场文书
医师定期考核实施方案
2014/05/07 职场文书
企业安全生产承诺书
2014/05/22 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL