Djangoの「最初のアプリ」チュートリアルに従いましたが、サイト全体で使用するテンプレートをどのように作成できるのか疑問に思っています。ビューごとにテンプレートを作成できますが、すべてのページに表示されるテンプレートを作成してから、「コンテンツブロック」などに「サブテンプレート」を含めるにはどうすればよいですか。
質問する
56 次
2 に答える
1
Djangoテンプレートドキュメントの「テンプレートの継承」セクションを参照してください。
基本的に、「ベース」である1つのテンプレートを作成します。
<!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 に答える