Django学习(六) 模板

下面是一个新闻的模板:mysite/news/templates/news/year_archive.html

mysite/news/templates/news/year_archive.html

{% extends "base.html" %}

{% block title %}Articles for {{ year }}{% endblock %}

{% block content %}
<h1>Articles for {{ year }}</h1>

{% for article in article_list %}
<p>{{ article.headline }}</p>
<p>By {{ article.reporter.full_name }}</p>
<p>Published {{ article.pub_date|date:"F j, Y" }}</p>
{% endfor %}
{% endblock %}

基础模板base.html如下:

mysite/templates/base.html
{% load staticfiles %}
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<img src="{% static "images/sitelogo.png" %}" alt="Logo" />
{% block content %}{% endblock %}
</body>
</html>

year_archive.html模板继承base.html模板

其中base.html模板中定义了基本的结构,然后空出了好多可替换的模块。子模板可以替换这些模块。例如base模板中定义了title是可替换的模块,那么在子模板year_archive中可以通过替换这个title模块达到个性化的目的。base中定义可替换模块是通过"  {% block title %}{% endblock %}  "来进行定义的。其中title是可替换的模块名称,其他均属于格式要求。如果在子模块中替换的话需要: {% block title %}  Articles for {{ year }}   {% endblock %}  将基础模板拷贝,然后中间添加上需要替换的内容。其中获取后台传递过来的变量用 " {{}} "将后台传递过来的变量包裹住。

原文地址:https://www.cnblogs.com/nihousheng/p/4549736.html