一、模板导入

要复用一个组件,可以将该组件写在一个文件中,在使用的时候导入即可

在模板中使用

1、语法

{% include '模板名字' %}

2、使用

ad.html页面

Panel title

Panel content

Panel title

Panel content

Panel title

Panel content

base.html页面,将ad模板导入使用

Title

{% include 'adv.html' %}

二、模板的继承

Django模版引擎中最强大也是最复杂的部分就是模版继承了。模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks 。

1、使用模板的继承

(1)写一个母版

写一个母版,留有一个或多个可扩展的区域。母版中主要是使用空的block完成页面的骨架搭建

{% block 名字 %}

可以内容

{% endblock %}

{% block title %}My amazing site{% endblock %}

{% block sidebar %}{% endblock %}
{% block content %}{% endblock %}

(2)在子模板中使用

子模板主要是用内容填充母版中空的block

#extends 告诉模板引擎,这个模板继承了另一个模板

{% extends "base.html" %}

{% block 名字 %}

子模板的内容

{% endblock 名字 %}

{% extends "base.html" %}

{% block title %}My amazing blog{% endblock %}

{% block content %}

{% for entry in blog_entries %}

{{ entry.title }}

{{ entry.body }}

{% endfor %}

{% endblock %}

2、强调(注意点)

子模板如果没有重写母版中的block,那么就用父级的block的内容。如案例中的 sidebar block没用重写,那么使用母版中sidebar block中的内容

一旦子模板重写了模板中的盒子,即使母版中block有内容,也会覆盖母版中的内容显示子模板中的内容

在base模版中设置越多的 {% block %} 标签越好。请记住,子模版不必定义全部父模版中的blocks,所以,你可以在大多数blocks中填充合理的默认内容,然后,只定义你需要的那一个。多一点钩子总比少一点好。

为了更好的可读性,你也可以给你的 {% endblock %} 标签一个 名字 。例如:

{% block content %}

...

{% endblock content %}

不能在一个模版中定义多个相同名字的 block 标签。

三、静态文件

1、在配置文件settings中配置过静态文件

STATIC_URL = '/static/'STATICFILES_DIRS=[

os.path.join(BASE_DIR,'static')

]

2、导入使用静态文件

在静态文件 static 中,可以放置css文件、js文件、img文件、第三方库文件等,要使用这些静态文件,需要将它们导入到模板中。

该方法已经写死了路径,一旦配置文件中的 STATIC_URL 发生改变,就无法找到文件

3、动态获取

(1)方法一:使用 static 标签函数

{% load static %}#static返回值,会拼上传参的路径

{% static "参数用来传参" %}

#案例,利用static函数,在函数中拼接好路径,return到模板中

(2)方法二:使用 get_static_prefix 标签

{%load static%}#get_static_prefix返回值是:静态文件的地址,相当于/static/#注意在css前面不要加‘ / ’

{% get_static_prefix %}css/mycss.css

html静态模板继承,Django框架(七)-- 模板层:模板导入、模板继承、静态文件...相关推荐

  1. Django框架 之 Form表单和Ajax上传文件

    Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...

  2. Django框架学习20--模板变量,模板标签,模板过滤器及自定义模板过滤器,自定义模板标签

    1.模板变量 string 字符串和 int 类型,通过key名称直接取值,如:{{ n_name }} list类型的取值,通过点下班取值,如:{{ fancy.0 }}.{{ fancy.1 }} ...

  3. Django框架的模型层之多表操作

    目录 一 创建模型 二 表记录的增删改 一对多 多对多 三.基于对象的跨表查询 一对一查询(Author 与 AuthorDetail) 一对多查询(publish与book) 多对多查询 (Auth ...

  4. django框架之路由层 视图层......

    Django 框架结构: urlspy:路由层 views.py:视图层 templates:模板层 models.py:模型层 路由层 数据处理结果request,是由wsgiref完成 1. 路由 ...

  5. Django MVT详细说明(三)模板T

    模板使用 一.模板介绍 1,作为Web框架,Django提供了模板,可以很便利的动态生成HTML 2,模版系统致力于表达外观,而不是程序逻辑 3,模板的设计实现了业务逻辑(view)与显示内容(tem ...

  6. python处理流程-分析Python的Django框架的运行方式及处理流程

    之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的.所以,我按照自己的逻辑总结了一下Django项目的运行方式和对R ...

  7. Python的web框架Django(1):HTTP、简介、静态文件配置、路由系统、视图函数、模板语言、ORM、Ajax、分页器、forms、Cookie、Session、中间件、ModelForm

    1. HTTP协议 1)HTTP请求协议 请求格式 POST(方法) /form/entry(URI) HTTP/1.1(协议版本) HOST:hackr.jp(服务端地址) Connection:k ...

  8. 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

    目录 1. 安装Django 2. 创建项目(startproject) 2.1 创建项目 2.2 介绍项目文件 2.3 APP(startapp) 3. 走通流程(urls, views, runs ...

  9. html语言可以写模版继承吗,Django框架(十一):模板介绍、模板语言、模板继承、HTML转义...

    1. 模板介绍 1.1 模板的功能 产生html,控制页面上展示的内容.模板文件不仅仅是一个html文件. 模板文件包含两部分内容: 静态内容:css.js.html. 动态内容:用于动态去产生一些页 ...

最新文章

  1. 线性表List的基本创建
  2. 谈一谈算法工程师的落地能力
  3. 如何修改datagrid行的高度_如何开出一份完美的信用证?
  4. poj 3469 Dual Core CPU 最小割
  5. leetcode103JAVA_[LeetCode] 103. Binary Tree Zigzag Level Order Traversal Java
  6. c# 获取word表格中的内容_Java 在Word中创建嵌套表格
  7. HDU 3315 My Brute
  8. CAD软件中如何自定义CAD填充图案?
  9. 北辰创业笔记:百度霸屏之长尾关键词是什么
  10. NOI试题(题目+答案)(二)
  11. 醋醋SEO基础入门教程_seo入门基础知识
  12. 计算机睡眠打印机不可用设置,win7系统打印机属性显示不可用的解决方法
  13. 几种常用网页文本编辑器总结
  14. tips pycharm 配搭git
  15. 【工业互联网】国内外工业互联网平台对比分析研究
  16. 超详细的逐句介绍Java网络编程之Socket类函数源码讲解(全)
  17. Android手机文件及文件夹目录详解
  18. USB接口那么多!!你都认识吗??知道他们的区别吗??
  19. 20世纪最伟大的十大算法
  20. codeforces 628.div2

热门文章

  1. vscode ctrl shift f 无法自动切换到搜索是快捷键被占用的问题
  2. mac idea ctrl+shift+F快捷键被搜狗输入法占用修改
  3. oppowatchfree有睡眠监测功能吗
  4. Tableau函数平均值及标准偏差
  5. ZEGO实时音视频通话质量的监测和应用
  6. 作为一面面试官,如何考察候选人
  7. 数据爬取与个人信息保护
  8. vue2项目引入vue-video-player
  9. 北师计算机硕士有宿舍吗,学校不提供宿舍北大北师大研究生吐槽
  10. phyon学习第一天