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语句、函数与方法的使用技巧总结
Dec 08 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
python开发游戏的前期准备
May 05 Python
Python简单处理坐标排序问题示例
Jul 11 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
python写一个随机点名软件的实例
Nov 28 Python
python生成大写32位uuid代码
Mar 03 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
python中判断文件结束符的具体方法
Aug 04 Python
了解一下python内建模块collections
Sep 07 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
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
vue cli webpack中使用sass的方法
2018/02/24 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
python写入xml文件的方法
2015/05/08 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
python中的二维列表实例详解
2018/06/19 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Django-migrate报错问题解决方案
2020/04/21 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
python FTP编程基础入门
2021/02/27 Python
过滤器的用法
2013/10/08 面试题
酒店门卫岗位职责
2013/12/29 职场文书
大学生党课思想汇报
2013/12/29 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
研发工程师岗位职责
2014/04/28 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python