学习一下网站模板怎么设计

父模板

首先创建一个名为base.html的模板,这个模板是我们的父模板

<p>
 <a href="{% url 'learning_logs:index' %}">Learning Log<a>
</p>

{% block content %}{% endlock content %}

这个文件的第一部分创建一个包含项目名的段落,该段落也是一个到主页的链接。为创建链接,我们使用了一个模板标签,它是用大括号和百分号({% %})表示的。模板标签是一小段代码,生成要在网页中显示的信息。在这个实例中,模板标签生成了一个URL,我们拆分来看,先是url,然后,匹配了learning_logs中的index,中间是用冒号连接起来的。我们也许还可以学到一些概念,像是命名空间,这里learning_logs是一个命名空间,这也许就是为什么后面有个冒号。

下一个概念是锚,锚是用来定义链接的

让模板标签生成url,可让链接保持最新。要修改url,只要修改urls.py就行了,不用修改模板了。在项目中,使用继承可以领每个主页都包含到主页的链接,我们自然理解这其中的含义。

在2处,插入了一对块标签,标签的格式跟模板标签也是一样的。这个块名为content,是一个占位符,其内涵由子模板指定。

子模板并非必须定义父模板中的每个块,因此在父模板中,可使用任意多个块来预留空间,而子模板可根据需要定义相应数量的块,就是说父模板多留几个块,方便子模板使用

子模版

现在需要重新编写index.html,使其继承base.html,你看index已经被编写过了,而且还是主页,但是它居然还是个子模板。算了先写着。

{% extends "learning_logs/base.html"%}

{% block content %}
 <p>Learning Log helps you keep track of your learning, for any topic you're
 learning about.</p>
{% endblock content %}

比较发现,标题被替换成了从父模板那里继承的代码。子模板的第一行必须包含标签{% extends %},让Django知道它继承了哪个父模板。这里发现标签是什么已经在父模板里规定好了。虽然我不太明白,明明在同一个文件夹里,为啥还要给出地址,给出文件夹。好了,那么现在可以考虑让index.html在content块预留的空间中添加内容了。

使用两个标签,指定要放进块中的内容的位置。

模板继承的优点,听别人给我们分析一下。在子模板中,只需要包含当前网页特有的内容。这不仅简化了每个模板,还使得网站修改起来容易得多。要修改很多网页都包含的元素,只需在父模板中修改该元素,所作的修改会集成到每个子模板的页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值