django模板结构优化的方法
模版结构优化
引入模版
有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函数一样,以后想要使用这些代码的时候,就通过include包含进来。这个标签就是include。示例代码如下:
#header.html我是header
#footer.html我是footer
#main.html {%include'header.html'%}我是main内容
{%include'footer.html'%}
include标签寻找路径的方式。也是跟render渲染模板的函数是一样的。
默认include标签包含模版,会自动的使用主模版中的上下文,也即可以自动的使用主模版中的变量。如果想传入一些其他的参数,那么可以使用with语句。示例代码如下:
#header.html用户名:{{username}}
#main.html {%include"header.html"withusername='huangyong'%}
模板继承:
在前端页面开发中。有些代码是需要重复使用的。这种情况可以使用include标签来实现。也可以使用另外一个比较强大的方式来实现,那就是模版继承。模版继承类似于Python中的类,在父类中可以先定义好一些变量和方法,然后在子类中实现。模版继承也可以在父模版中先定义好一些子模版需要用到的代码,然后子模版直接继承就可以了。并且因为子模版肯定有自己的不同代码,因此可以在父模版中定义一个block接口,然后子模版再去实现。以下是父模版的代码:
{%loadstatic%}{%blocktitle%}我的站点{%endblock%} {%blocksidebar%} {%endblock%}
首页 博客