Django 模板详解

模板

变量

视图传递给模板的数据

语法{{ var }}

使用的变量不存在,插入空字符串

模板中使用点语法

字典

属性 方法

数字索引

调用对象的方法

不能传递参数

标签

语法

{ % tag % }

作用

输出中创建文本

控制逻辑和循环

if

{% if 表达式 %}

语句

{% endif %}

{% if 表达式 %}

语句

{% else %}

语句2

{% endif %}

{% if 表达式 %}

语句

{% elif 表达式2 %}

语句2

{% endif %}

for

{% for 变量 in 列表 %}

语句

{% empty %}

语句2

{% endfor %}

empty 列表为空时使用

{{ forloop.counter}]

第几次循环

comment

{% comment %}

注释内容

{% endcomment %]

ifequal/ifnotequla

是否相等 不相等

{% ifequal 值1 值2 %}

语句1

{% endifequal %}

两值相等执行语句1

{% ifequal 'a' ''a %}

'this is test'

{% endifequal %}

include

加载模板 以标签内的参数渲染

{% include 模板目录 参数1 参数2 %]

url

反向解析

子主题 1

[% url 'namespace:name' p1 p2 %]

csrf_token

用于跨站请求伪造保护

{% csrf_token %]

block extends

用于模板继承

autoescape

用于 HTML转义

{% autoescape off %}

{}

{% endautoescape %}

过滤器

{{ var 过滤器 }}

在变量被显示前 修改它

lower

{{ str | lower }]

upper

可以传递参数

join

列表 | join:'#'

如果 变量不存在 , 值为false , 空 , 可以使用默认值

default

{ var|default:'str' }}

转换日期为字符串

date

{{ dateVal | date:'y-m-d' }}

HTML转义

escape

运算

num = {}

{{ num | add:10 }}加

{{ num | add:-10 }}减

{% widthratio num 1 5 % }乘

{% widthratio num 5 1 % }除

模板继承

作用

可以减少页面内容的重复定义

block

在父模板中预留区域, 子模板去填充

{% block 标签名 %}

{% endblock 标签名 %}

extends

继承模板,写在模板文件第一行

{% extends 父模板路径 %}

HTML转义

{}

{% autoescape off %}

{}

{% endautoescape %}

关闭自动转义

CSRF

跨站请求伪造

防止 CSRF

{% csrf_token %}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180612G1YJOG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券