加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

django模板语法之include

发布时间:2020-12-15 17:20:15 所属栏目:大数据 来源:网络整理
导读:假如我们有以下模板 index.html ,代码为: Title span style="color: #0000ff;" span style="color: #800000;"div span style="color: #0000ff;" 网页公共头部部分span style="color: #0000ff;"/ span style="color: #800000;"div span style="color: #0000

假如我们有以下模板index.html,代码为:

Title

<span style="color: #0000ff;"><<span style="color: #800000;">div<span style="color: #0000ff;">>网页公共头部部分<span style="color: #0000ff;"></<span style="color: #800000;">div<span style="color: #0000ff;">>

<span style="color: #0000ff;"><<span style="color: #800000;">h2<span style="color: #0000ff;">> 网页body部分 <span style="color: #0000ff;"></<span style="color: #800000;">h2<span style="color: #0000ff;">>

<span style="color: #0000ff;"><<span style="color: #800000;">div<span style="color: #0000ff;">>网页公共底部部分<span style="color: #0000ff;"></<span style="color: #800000;">div<span style="color: #0000ff;">>

<span style="color: #0000ff;"></<span style="color: #800000;">body<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">html<span style="color: #0000ff;">>

做过web开发的童鞋知道大部分网页的公共头部,公共底部部分代码每个页面都一样,那么就应该将其单独拿出做为一个html, 这样修改这部分代码时候,不需要每个页面都修改, 所以在django中我们可以这么做:

top.html

网页公共头部部分

bottom.html

网页公共底部部分

index.html

Title {% include 'top.html' %}

<span style="color: #0000ff;"><<span style="color: #800000;">h2<span style="color: #0000ff;">> 网页body部分 <span style="color: #0000ff;"></<span style="color: #800000;">h2<span style="color: #0000ff;">><span style="color: #000000;">

{% include 'bottom.html' %}

<span style="color: #0000ff;"></<span style="color: #800000;">body<span style="color: #0000ff;">>
<span style="color: #0000ff;"></<span style="color: #800000;">html<span style="color: #0000ff;">>

我们可以使用django模板引擎的Include语法,来将单独的页面包含到当前模板页面中。有同学有疑问,那我们通过视图传递给模板的上下文,在被包含的模板中可以使用吗?可以直接使用。

假如我们有如下视图:

render(request,,{: 100,: 200})

该django的视图函数,传递给模板并渲染模板。

top.html修改如下:

网页公共头部部分:{{ a }}

这么使用是没有问题的。

我这里有这样的一个问题,假如所有的页面都使用共同的头部top.html, 可能针对1.html 2.html 3.html所使用的头部有些样式不一样,所需top.html:

网页公共头部部分

但是对于5.html, 6.html使用的头部样式为:

网页公共头部部分

很显然,如果直接通过include方式包含公共头部,会导致一些页面显示问题。既然部分参数不一样,include允许我们传递参数给被include的模板,我们可以使用with语法,那么问题解决如下:

{{ % include 'top.html' with mycss='acss' % }}

top.html可修改如下:

网页公共头部部分

被包含模板中部分参数,由我们include的时候动态指定,那么top.html就不会因为细微差别而编写多份代码了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读