我遵循了 Django“第一个应用程序”教程,现在我想知道如何编写整个站点将使用的模板。我可以为每个视图编写模板,但是如何编写一个将出现在每个页面上的模板,然后在“内容块”中包含“子模板”?
问问题
56 次
2 回答
1
请参阅 Django 模板文档的模板继承部分。
基本上,您创建一个作为“基础”的模板:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" href="style.css" />
<title>{% block title %}My amazing site{% endblock %}</title>
</head>
<body>
<div id="sidebar">
{% block sidebar %}
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
{% endblock %}
</div>
<div id="content">
{% block content %}{% endblock %}
</div>
</body>
</html>
并将其保存为(例如)“base.html”在您的模板目录中,然后每个特定的页面模板如下所示:
{% extends "base.html" %}
{% block title %}My amazing blog{% endblock %}
{% block content %}
{% for entry in blog_entries %}
<h2>{{ entry.title }}</h2>
<p>{{ entry.body }}</p>
{% endfor %}
{% endblock %}
于 2012-04-14T22:26:58.003 回答
0
长话短说,您应该编写一个基本模板,然后扩展此模板。这称为模板继承,并在此处进行了很好的解释
于 2012-04-14T22:27:27.107 回答