Django开发个人博客网站——9、模板的继承
2018-02-02 16:48
761 查看
在编程的过程中,我们经常会重复性的写了很多的代码,比如一个页面的框架部分,这样有多少个页面就得写上多少次,这样既不好维护,也不够高效,所以我们引出了html的模板继承部分。
通过观察我的博客:http://www.geerniya.cn/,我们发现,很多页面大体构造都是一样的,因此我们可以将公用的框架作为一个模板,其它页面可以继承自这个模板,然后在其基础上添加上自己的东西。
新建base.html页面
我们在templates下新建一个base页面,将上一节中的index.html页面全部剪切进来。
然后在index.html页面中第一行写下如下,即可将base.html页面完全继承过来。
当然,我们对base.html页面中非公共部分需要通过block标记出来,比如head中的title,每一个页面的title都不一样,可以通过如下方式进行区分:
然后在index.html页面中通过如下方式编辑:
同样,我们还应当在base.html页面建立content的block,需要注意的是,这个block一定要放在它原先所在的位置
然后将class=”content-wrap”中的内容全部剪切到index.html页面中的content block中:
当然,还可以添加其它不同的block,哪里有需要的话就可以添加,比如说样式文件,可能某个样式只是用在该页面上,那么只需要在该页面通过block添加到base页面即可。我们这里只需要添加比较少的内容,整体来看,index页面精简了不少:
——————————————————————————————————————————
项目的完整代码:django_blog
觉得有用的欢迎给个star。
通过观察我的博客:http://www.geerniya.cn/,我们发现,很多页面大体构造都是一样的,因此我们可以将公用的框架作为一个模板,其它页面可以继承自这个模板,然后在其基础上添加上自己的东西。
新建base.html页面
我们在templates下新建一个base页面,将上一节中的index.html页面全部剪切进来。
然后在index.html页面中第一行写下如下,即可将base.html页面完全继承过来。
{% extends 'base.html' %}
当然,我们对base.html页面中非公共部分需要通过block标记出来,比如head中的title,每一个页面的title都不一样,可以通过如下方式进行区分:
<title> {% block title %}{% endblock %} </title>
然后在index.html页面中通过如下方式编辑:
{% block title %}往事如烟的博客{% endblock %}
同样,我们还应当在base.html页面建立content的block,需要注意的是,这个block一定要放在它原先所在的位置
{% block content%}{% endblock %}
然后将class=”content-wrap”中的内容全部剪切到index.html页面中的content block中:
{% block title %} class="content-wrap" ... {% endblock %}
当然,还可以添加其它不同的block,哪里有需要的话就可以添加,比如说样式文件,可能某个样式只是用在该页面上,那么只需要在该页面通过block添加到base页面即可。我们这里只需要添加比较少的内容,整体来看,index页面精简了不少:
{% extends 'base.html' %} {% block title %} 往事如烟的博客 {% endblock %} {% block title %} <div class="content-wrap"> ... {% endblock %}
——————————————————————————————————————————
项目的完整代码:django_blog
觉得有用的欢迎给个star。
相关文章推荐
- Django开发个人博客网站——11、通过regroup实现博客的归档
- Django开发个人博客网站——22、博客的最后完善
- Django开发个人博客网站——5、创建第一个app
- Django开发个人博客网站——8、博客首页的开发
- Django开发个人博客网站——18、实现博客的分类
- Django开发个人博客网站——10、分页功能的实现
- Django开发个人博客网站——4、更改数据库为mysql
- Django开发个人博客网站——21、实现博客的统计功能
- Django开发个人博客网站——23、域名申请、备案与服务器的选择
- Django开发个人博客网站——25、服务器centos 7 安装nginx
- Django开发个人博客网站——27、服务器centos7安装Python3.6 与 pip3
- Django1.9开发博客06- 模板继承
- Django开发个人博客网站——28、服务器centos7创建虚拟环境
- Django开发个人博客网站——3、使用pycharm创建博客项目
- Django开发个人博客网站——13、实现标签下所有博客的展示
- Django开发个人博客网站——24、服务器的远程连接管理
- Django开发个人博客网站——7、通过admin管理后台
- Django开发个人博客网站——17、博客添加RSS订阅
- Django开发个人博客网站——26、服务器centos7安装mysql
- Django开发个人博客网站——32、启用Let's Encrypt免费的HTTPS证书