Day70 Python Web 框架 Django——Django模板
在Django中,我们可以使用Django模板来创建动态网页。Django模板是一种告诉Django应该如何渲染HTML的方式。
在Django中,模板可以通过两种方式使用:
- 使用模板继承(Template Inheritance)
- 使用模板包含(Template Inclusion)
模板继承
模板继承允许你创建一个基本的“骨架”模板,它定义了网站的基本结构,并且可以被子模板继承。子模板可以覆盖基本模板的内容。
例如,我们创建一个名为base.html
的基本模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}My amazing site{% endblock %}</title>
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">{% block footer %}© Copyright 2022{% endblock %}</div>
</body>
</html>
在这个模板中,{% block %}
标签定义了可以在子模板中重写的区域。
然后,我们创建一个名为home.html
的子模板,它继承了base.html
:
{% extends "base.html" %}
{% block title %}Home{% endblock %}
{% block content %}
<h1>Welcome to the home page!</h1>
<p>This is some content.</p>
{% endblock %}
在这个子模板中,我们使用{% extends %}
标签来指定它继承自哪个基本模板,然后我们使用{% block %}
标签来覆盖基本模板中相应的部分。
模板包含
模板包含允许你在一个模板中插入另一个模板的内容。
例如,我们创建一个名为header.html
的模板:
<header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
</ul>
</nav>
</header>
然后,在另一个名为home.html
的模板中,我们可以使用{% include %}
标签来包含这个头部模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Home</title>
</head>
<body>
{% include "header.html" %}
<h1>Welcome to the home page!</h1>
<p>This is some content.</p>
</body>
</html>
在这个例子中,{% include %}
标签被用来插入header.html
模板的内容到home.html
中。
这就是Django模板的基本使用方法。在实际开发中,你可以根据需要选择使用模板继承还是模板包含,并且可以结合使用多个模板标签来创建复杂的布局。
评论已关闭