01templates模板的继承
通常我们的模板页面有很多内容都是可以共用的,主要就是js和css,如果模板很多的话,你就需要写很多重复的代码,django为我们提供了模板的继承,更加充分的利用代码,减少重复代码,也更有助于后期修改。
每一个模板基本都需要重复的使用下面的代码:
!DOCTYPEhtmlhtmllang=enheadmetacharset=UTF-8title网站标题/titlelinkrel=stylesheethref=main.css/{#所有模板共用的css#}/headbodydivid=menu菜单/divdivid=content网站主题内容/divdivid=sidebar侧边栏/divscripttype=text/javascriptsrc=jquery.main.js/script{#所有模板共用的js#}/body/html
可能其他的模板只需要修改标题或者内容,css和js都需要继续使用,那么很多的模板就会存在很多的重复代码,我们可以使用下面的方式,也就是django给我们提供的模板继承。我们创建一个主要的模板(也就是很多可以共用的代码):
!DOCTYPEhtmlhtmllang=enheadmetacharset=UTF-8title{%blocktitle%}{%endblock%}/titlelinkrel=stylesheethref=main.css/{#所有模板共用的css#}{%blockcss%}{%endblock%}/headbodydivid=menu菜单/div{#可共用的菜单#}divid=content网站主题内容/div{%blockcontent%}{%endblock%}divid=sidebar侧边栏/div{#可共用的侧边栏#}scripttype=text/javascriptsrc=jquery.main.js/script{#所有模板共用的js#}{%blockjs%}{%endblock%}/body/html
那么在子模板中就可以简单的使用下面的方式来继承父模板:
{%blocktitle%}用户管理{%endblock%}{#模板的标题#}{%blockcss%}style{#当前模板使用的css#}/style{%endblock%}{%blockcontent%}ulli/lili/li/ul{%blockjs%}script{#当前模板使用的js#}/script{%endblock%}{%endblock%}
考虑到在子模板中可能存在当前模板使用的js和css,按照上面的方式就可以单独在子模板中添加另外的css和js,这里可以自己尝试这玩玩看!