模版嵌套
1、常用的模板标签
我们前面写的前端页面,有很多代码都是重复的,所以我们要写个模板base.html,让网页来继承它。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title%}{% endblock %}</title>
</head>
<body>
<div>
<a href="{% url 'home' %}">
<h3>个人博客网站</h3>
</a>
</div>
<hr>
{% block content %}
{% endblock %}
</body>
</html>
blog_detail.html继承和引用模板文件
{% extends 'base.html' %}
{#页面标题#}
{% block title %}
{{ blog.title }}
{% endblock %}
{#页面内容#}
{% block content %}
<h3>{{ blog.title }}</h3>
<p>作者:{{ blog.author }}</p>
<p>发表日期:{{ blog.create_time|date:"Y-m-d G:n:s" }}</p>
<p>分类:<a href="{% url 'blogs_with_type' blog.blog_type.pk %}">{{ blog.blog_type }}</a></p>
<p>{{ blog.content }}</p>
{% endblock %}
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_html:30 }}</p>
{% empty %}
<p>-- 暂无博客,敬请期待 --</p>
{% endfor %}
<p>一共有{{ blogs|length }}篇博客</p>
{% endblock %}
blogs_with_type.html继承和引用模板文件
{% extends 'base.html' %}
{#页面标题#}
{% block title %}
{{ blog_type.type_name }}
{% endblock %}
{#页面内容#}
{% block content %}
<h3>{{ blog_type.type_name }}</h3>
{% for blog in blogs %}
<a href="{% url 'blog_detail' blog.pk %}">
<h3>{{ blog.title }}</h3>
</a>
<p>{{ blog.content|truncatechars_html:30 }}</p>
{% empty %}
<p>-- 暂无博客,敬请期待 --</p>
{% endfor %}
<p>一共有{{ blogs|length }}篇博客</p>
{% endblock %}
2、全局模板文件夹
新建templates文件夹,在settings.py中
'DIRS': [
os.path.join(BASE_DIR,'templates'),
],
3、模板文件设置建议
把html页面移进来