一、模板使用步骤:
(1)创建静态html模板存放文件夹
在mysite文件夹下创建template文件夹,用于存放静态模板。
(2)配置静态html模板存放位置
修改setting.py配置文件,加入以下内容。
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'mysite/tempelate/'),
)
(3) 视图层加入内容
在views.py加入视图代码,用于渲染模板,返回响应。
|
(4)配置url
在urls.py中加入访问接口。
|
二、模板标签:
(1)if标签
与if语句一样,用来进行分支判断。
{% if today_is_weekend %} <p>Welcome to the weekend!</p> {% else %} <p>Get back to work.</p> {% endif %} |
(2)for标签
<ul> {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} </ul> |
用来判断两个值是否相等,注意不能进行数组和字典的判断。
{% ifequal user currentuser %} <h1>Welcome!</h1> {% endifequal %} |
(4)include 标签
该标签允许在(模板中)包含其它的模板的内容。 标签的参数是所要包含的模板名称,可以是一个变量,也可以是用单/双引号硬编码的字符串。
{% include 'nav.html' %} |
下面的例子包含了以变量
template_name
的值为名称的模板内容:
{% include template_name %} |
(5)block 标签
block标签与extends标签用于模板继承。一个网站的页面整体结构一致,通过模板继承可以减少代码量,同时规范页面结构。
每个
{% block %}
标签所要做的是告诉模板引擎,该模板下的这一块内容将有可能被子模板覆盖。
例子为base.html, 使用block标签定义一个基础模板。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>{% block title %}{% endblock %}</title> </head> <body> <h1>My helpful timestamp site</h1> {% block content %}{% endblock %} {% block footer %} <hr> <p>Thanks for visiting my site.</p> {% endblock %} </body> </html> |
(6)extends标签
extends标签用于继承模板,配合block进行重写。
{% extends "base.html" %} {% block title %}The current time{% endblock %} {% block content %} <p>It is now {{ current_date }}.</p> {% endblock %} |