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比较两个图片相似度的方法
Mar 13 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
python实现字符串和数字拼接
Mar 02 Python
Python如何获取文件路径/目录
Sep 22 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的SQL注入过程分析
2012/01/06 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
请离开include_once和require_once
2013/07/18 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
Scrapy框架使用的基本知识
2018/10/21 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
阿拉伯书店:Jamalon
2019/07/24 全球购物
大学新生入学教育方案
2014/05/16 职场文书
学校社会实践活动总结
2014/07/03 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
开业庆典致辞
2015/08/01 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python