1、一个网站有很多相似的网页,这样就可以建立一个base.html在templates文件夹下
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div>
<a href="{% url 'home' %}">
<h2>个人博客网站</h2>
</a>
</div>
<hr>
{% block content %}{% endblock %}
</body>
</html>
2、有了这个base.html,其他三个模板就可以嵌套进来
blog_list.html
{% extends 'base.html' %}
{# 页面标题 #}
{% block title %}
我的博客网站
{% endblock %}
{# 页面内容 #}
{% block content %}
{% for blog in blogs %}
<a href="{% url 'blog_detail' blog.pk %}">
<h3>{{ blog.title }}</h3>
</a>
<p>{{ blog.content|truncatechars:20 }}</p>
{% empty %}
<p>---暂无博客,敬请期待---</p>
{% endfor %}
<p>一共有{{ blogs|length }} 篇博客</p>
{% endblock %}
blog_detail.html
{% extends 'base.html' %}
{# 页面标题 #}
{% block title %}
{{ blog.title }}
{% endblock %}
{# 页面内容 #}
{% block content %}
<h3>{{ blog.title }}</h3>
<p>作者:{{ blog.author }}</p>
<p>发表日期:{{ blog.created_time|date:"Y-m-d"}}</p>
<p>分类:
<a href="{% url 'blogs_with_type' blog.blog_type.pk %}">
{{ blog.blog_type }}
</a>
</p>
<p>{{ blog.content }}</p>
{% endblock %}
blogs_with_type.html
{% extends 'base.html' %}
{# 页面标题 #}
{% block title %}
{{ blog_type.type_name }}
{% endblock %}
{# 页面内容 #}
{% block content %}
<h2>{{ blog_type.type_name }}</h2>
{% for blog in blogs %}
<a href="{% url 'blog_detail' blog.pk %}">
<h3>{{ blog.title }}</h3>
</a>
<p>{{ blog.content|truncatechars:20 }}</p>
{% empty %}
<p>---暂无博客,敬请期待---</p>
{% endfor %}
<p>一共有{{ blogs|length }} 篇博客</p>
{% endblock %}
3、base.html位置的更换
在mysite文件夹力新建templates文件夹,并且在settings.py中更改
'DIRS': [os.path.join(BASE_DIR,'templates')],
然后将blog/templates里面额base.html剪切到mysite/templates文件夹中。并在mysite/templates中新建blog,把blog/templates里的其他几个html也剪切到这里来,然后修改views.py中每个视图的返回值中的html名称 ,在每个前面加上blog/,这样就可以访问啦!