Django框架下静态模板的继承操作示例

 更新时间:2019-11-08 09:48:54   作者:佚名   我要评论(0)

本文实例讲述了Django框架下静态模板的继承操作。分享给大家供大家参考,具体如下:
前言:第一篇博客,毕业校招在即,抽空把做过的项目都整理一下。
开发环境:pyt

本文实例讲述了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程序设计有所帮助。

您可能感兴趣的文章:

  • Django模板导入母版继承和自定义返回Html片段过程解析
  • Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
  • Django模板继承 extend标签实例代码详解
  • 详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
  • Django使用模板后无法找到静态资源文件问题解决
  • django模板加载静态文件的方法步骤
  • python+django加载静态网页模板解析
  • python Django模板的使用方法(图文)
  • Django模板变量如何传递给外部js调用的方法小结
  • 使用django-suit为django 1.7 admin后台添加模板
  • 在Django框架中自定义模板过滤器的方法
  • 基于Django模板中的数字自增(详解)

相关文章

  • Django框架下静态模板的继承操作示例

    Django框架下静态模板的继承操作示例

    本文实例讲述了Django框架下静态模板的继承操作。分享给大家供大家参考,具体如下: 前言:第一篇博客,毕业校招在即,抽空把做过的项目都整理一下。 开发环境:pyt
    2019-11-08
  • vue视频播放暂停代码

    vue视频播放暂停代码

    vue中的视频播放 vue.js中引入video视频播放器 main.js中引入 import Video from 'video.js' import 'video.js/dist/video-js.css' Vue.prototype.$video = Video
    2019-11-08
  • 详解使用Spring快速创建web应用的两种方式

    详解使用Spring快速创建web应用的两种方式

    介绍 本篇文章主要介绍,如何使用 Spring 开发一个 Web 应用。 我们将研究用 Spring Boot 开发一个 web 应用,并研究用非 Spring Boot 的方法。 我们将主要
    2019-11-08
  • 使用go在mangodb中进行CRUD操作

    使用go在mangodb中进行CRUD操作

    我在学习go语言之前,在对数据库进行CRUD的操作基本是用java和sql来对mysql数据库进行操作,但是到了实习中公司业务都是用的是mangodb,通过一段学习时间后,
    2019-10-08
  • Win10 系统下快速搭建mxnet框架cpu版本

    Win10 系统下快速搭建mxnet框架cpu版本

    Win10 系统下快速搭建mxnet框架cpu版本 一:安装Anaconda 1. 从官方网站下载 https://www.anaconda.com/download/ 建议下载python 3.7版本的Anaconda 2.
    2019-10-08
  • vue封装swiper代码实例解析

    vue封装swiper代码实例解析

    这篇文章主要介绍了vue封装swiper代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 data(
    2019-10-08
  • 解决python 读取excel时 日期变成数字并加.0的问题

    解决python 读取excel时 日期变成数字并加.0的问题

    excel 文件内容如下: 读取excel内容: import xlrd from datetime import datetime from xlrd import xldate_as_datetime, xldate_as_tuple filename = r'
    2019-10-08
  • IntelliJ IDEA(2019)安装破解及HelloWorld案例(图文)

    IntelliJ IDEA(2019)安装破解及HelloWorld案例(图文)

    本文介绍idea的安装和基本使用 首先保证JDK正常安装及配置 下载地址:https://www.jetbrains.com/idea/download/#section=windows 破解参考此地址:ht
    2019-10-08
  • laravel-admin 实现给grid的列添加行数序号的方法

    laravel-admin 实现给grid的列添加行数序号的方法

    如标题中的问题,怎么给 laravel-admin 中 grid 的列添加行数序号,不是 id ,来看一下代码的实现。 先添加一个虚拟列: $grid->number('序号'); 然后把序
    2019-10-08
  • 关于Laravel-admin的基础用法总结和自定义model详解

    关于Laravel-admin的基础用法总结和自定义model详解

    总结laravel-admin展示用到的基本方法 基础用法 自定义model 当列表数据获取有特定条件或自己写ORM方法时可以用到,支持排序 $grid->model()->select('id',
    2019-10-08

最新评论