用django搭建个人博客(二)

本文介绍了如何使用Django搭建个人博客时实现共享模板,包括创建base.html、header.html和footer.html等,以简化布局修改。还讲解了高级功能的应用,如图像文件管理、使用Bootstrap改进布局、在主页面显示文章摘要,以及处理Markdown内容和HTML图片插入。此外,还详细说明了如何利用模板过滤器显示文章摘要和发布时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

共享模板的使用

之前说到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 %}
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值