用django搭建个人博客(二)

共享模板的使用

之前说到index.html和post.html中有很多重复的内容,如果要修改布局两个网页都要修改,这就很麻烦。因此,把每一个页面共同的部分独立出来成为另一个文件,才是正确的做法。

文件名 用途说明
base.html 网站的基础模板,提供网站的主要设计、外观风格
header.html 网站中每一个网页共享的标题元素,通常是放置网站logo的地方
footer.html 网站中每一个网页的共享页尾,用来放置版权声明或其他参考信息
index.html 此范例网站的首页
post.html 范例网站用来展示单篇文章的页面

base.html的内容

{# base.html #}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
        {% block title %}{% endblock %}
    </title>
</head>
<body>
    {% include 'header.html' %}
    {% block headmessage %}{% endblock %}
    <hr>
    {% block content %}{% endblock %}
    <hr>
    {% include 'footer.html' %}

</body>
</html>

index.html的内容

{# index.html #}
{% extends 'base.html' %}
{% block title %}欢迎光临我的博客{% endblock %}
{% block headmessage %}
    <h3>本站文章列表</h3>
{% endblock %}

{% block content %}
    {% for post in posts %}
        <p>
            <a href="/post/{
    { post.slug }}">{
  { post.title }}</a>
        </p>
    {% endfor %}
{% endblock %}

post.html的内容

{% extends 'base.html' %}

{% block title %}{
  { post.title }} - 文学天地{% endblock %}

{% block headmessage %}
    <h3>{
  { post.title }}</h3>
    <a href="/">回首页</a>
{% endblock %}

{% block content %}
    <p>{
  { post.body }}</p>
{% endblock %}

header.html的内容

<h1>欢迎光临 文学天地</h1>

footer.html的内容

{% block footer %}
    {% if now %}
        <p>现在时刻:{
  { now }}</p>
    {% else %}
        <p>本文内容
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值