广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
4.4.1 模板继承的核心流程
django中的模板语言借鉴了面向对象的设计思想,可以对模板进行继承。通过模板继承,可以对模板代码进行复用,减少冗余。在django中进行模板继承的核心流程:
(1) 定义一个总体架构的模板页面,作为基准页面
在基准页面中定义block标签,子级模板在继承时可以覆盖block标签中的内容。
(2) 从基准页面中进行继承,并覆盖基准页面的内容
在django中使用extends标签从基准页面中进行继承,并在必要时可以覆盖基准页面block标签中的内容。
4.4.2 基准页面
网页的逻辑结构可简化为下图所示的四个组成部分:html头部,页面主体内容,侧边栏,页尾。
html头部对应的是html中的head标签,用来定义网页的属性(例如网页的标题,字符编码等),以及加载外部的js脚本文件、css样式文件。页面主体(包含页面的导航栏),侧边栏,页尾等在<body>标签中进行定义。页面的逻辑结构所对应的html代码:
<html> {# 页面的html头部 #} <head> <link rel="stylesheet"> <script></script> <title></title> </head> <body> {# 页面的侧边栏 #} <div id="sidebar"> </div> {# 页面的主体内容 #} <div id="content"> </div> {# 页面的尾部内容#} <div id="foot"> </div> </body> </html>
上文的html代码中,定义了网页的整体结构,在实际开发中通常将其作为django模板的基准页面。在上文的代码中只定义了基本结构,在浏览器中打开时显示的是一个空白的网页,通过django中的block标签可以定义默认显示的内容,子模板继承时对block标签的内容进行覆盖可以实现内容的定制化。
4.4.3 block标签
django block标签的使用语法:
{% block tag_name %} {% endblock tag_name%}
tag_name表示block标签的名称,在模版中不能定义相同名称的block标签。现在通过block标签,来丰富基准页面的内容。使用block标签后的基准页面:
<html> {# 页面的html头部 #} <head> {% block css %} <link rel="stylesheet" /> {% endblock css %} {% block js %} <script></script> {% endblock js %} <title> {% block title %} django的美妙爵士乐 {% endblock title %} </title> </head> <body> {# 页面的侧边栏 #} <div id="sidebar"> {% block sidebar %} <ul> <li><a href="/">首页</a></li> <li><a href="/blog/">博客</a></li> <li><a href="/help/">帮助</a></li> </ul> {% endblock sidebar %} </div> {# 页面的主体内容 #} <div id="content"> {% block content %} <p>基准页面的主体内容</p> {% endblock content %} </div> {# 页面的尾部内容 #} <div id="foot"> {% block foot %} <p>基准页面的尾部内容</p> {% endblock foot %} </div> </body> </html>
4.4.4 从模板中进行继承
定义完基准页面和block标签以后, 使用extends标签来进行模板继承。 读者要注意的是,extends标签必须出现在其它模板标签的前面。django extends标签的使用语法:
{% extends "template_name" %}
template_name表示模板文件的名称,例如基准页面的名称为base.html,则模板继承的代码为:
{% extends "base.html" %}
子级模板在继承时,通过相应的block标签可以对父模板中的内容进行覆盖,未覆盖的标签会使用标签的默认值。以4.4.3节中的基准页面为例,假设基准页面名称为base.html:
{% extends "base.html" %} {% block title %} Jazz Of Django {% endblock title %} {% block content %} <p>子级模板的主体内容 </p> {% endblock content %} {% block foot %} <p>子级模板的尾部内容 </p> {% endblock foot %}
在上文的模板代码中,使用了extends从模板base.html中进行继承,并分别覆盖了title标签,content标签,foot标签中的内容。django在对该模板进行渲染时,会生成如下的html代码:
<html> <head> <link rel="stylesheet" /> <script></script> <title> Jazz Of Django </title> </head> <body> <div id="sidebar"> <ul> <li><a href="/">首页</a></li> <li><a href="/blog/">博客</a></li> <li><a href="/help/">帮助</a></li> </ul> </div> <div id="content"> <p>子级模板的主体内容</p> </div> <div id="foot"> <p>子级模板的尾部内容</p> </div> </body> </html>
4.4.5 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,包拿Offer
(3) 数据分析高薪就业班,月薪11K-15K, 免费领取课程大纲
(4) Python大数据挖掘,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料: