Django模板
閱讀時間:全文 377 字,預估用時 2 分鐘
創作日期:2017-09-14
上篇文章:Django插件收集
下篇文章:Django渲染方式
BEGIN
模板的定义与继承
- base.html
<!DOCTYPE html>
<html>
<head>
<title>% block title %默认标题% endblock %</title>
</head>
<body>
% include 'nav.html' %
% block content %
<div>这里是默认内容,所有继承自这个模板的,如果不覆盖就显示这里的默认内容。</div>
% endblock %
% include 'bottom.html' %
</body>
</html>
- 任意子页面继承自base.html
% extends 'base.html' %
% block title %欢迎光临首页% endblock %
% block content %
% include 'ad.html' %
这里是首页,欢迎光临
% endblock %
模板中的流程控制
- 模板元素
{ }
:变量% %
:表达式% url 'app_name' arg1 arg2 as alias_name %
:url表示,alias_name为别名可在其它地方调用,{ alias_name }
for
表达式
% for key, value in info_dict.items %
<li>{ key }: { value }</li>
% empty %
<li>抱歉,列表为空</li>
% endfor %
if
表达式
% if False %
this is False
% elif True %
this is True
% else %
this is else
% endif %
过滤器的应用
名称 | 作用 | 示例 |
---|---|---|
capfirst | 将第一个字母大写 | { value | capfirst } |
center | 将字符串的内容居中 | { value | center:’#$’ } |
cut | 将字符串指定的字符删除 | { value | cut:” } |
date | 时间日期的格式化输出 | { value | date:‘d M Y’ } |
linebreaksbr | 置换\n为 | { value | linebreaksbr } |
linenumbers | 为每一行字符串加上行号 | { value | linenumbers } |
lower | 将字符串转换成小写 | { value | lower } |
upper | 将字符串转换成大写 | { value | upper } |
random | 随机选出一个 | { value | random } |
striptags | 删除所有的HTML标签 | { value | striptags } |
truncatechars | 提取指定字数的字符 | { value | truncatechars:50 } |
wordcount | 计算字符串字数 | { value | wordcount } |
FINISH
上篇文章:Django插件收集
下篇文章:Django渲染方式