django html页面 Template模板语法

二、定义模板1. 模板语言(DTL)主要内容1)变量2)标签 { % 代码块 % }3)过滤器4)注释{# 代码或html #}2. 变量1)语法:{{ variable }}2)当模版引擎遇到一个变量,将计算这个变量,然后将结果输出3)变量名必须由字母、数字、下划线(不能以下划线开头)和点组成4)当模版引擎遇到点("."),会按照下列顺序查询:字...
摘要由CSDN通过智能技术生成

二、定义模板

1. 模板语言(DTL)主要内容

1)变量

2)标签 { % 代码块 % }

3)过滤器

4)注释{# 代码或html #}

2. 变量

1)语法:

{
   { variable }}

2)当模版引擎遇到一个变量,将计算这个变量,然后将结果输出

3)变量名必须由字母、数字、下划线(不能以下划线开头)和点组成

4)当模版引擎遇到点("."),会按照下列顺序查询:

  1. 字典查询,例如:foo["bar"]   { {foo.bar}}
  2. 属性或方法查询,例如:foo.bar
  3. 数字索引查询,例如:foo[bar]  { {all_students.0}}

5)如果变量不存在, 模版系统将插入'' (空字符串)

6)在模板中调用方法时不能传递参数

3. 在模板中调用对象的方法和属性

4. 标签

1)语法:{ % tag % }

2)作用

    • 在输出中创建文本
    • 控制循环或逻辑
    • 加载外部信息到模板中供以后的变量使用

4.1 for标签

4.1.1 语法

{ %for ... in ...%}
循环逻辑
{
   {forloop.counter}}表示当前是第几次循环
{ %empty%}
给出的列表为或列表不存在时,执行此处
{ %endfor%}

4.2 if标签

4.2. 1语法

{ %if ...%}
逻辑1
{ %elif ...%}
逻辑2
{ %else%}
逻辑3
{ %endif%}

4.3 comment标签,多行注释

{ % comment % }
多行注释
{ % endcomment % }

4.4 include:加载模板并以标签内的参数渲染

可以包含另外一个模块过来

{ %include "foo/bar.html" % }

4.5 url:反向解析

4.5.1 语法

语法:'p1'和 'p2'是数据

{ % url 'name' 'p1' 'p2' %}?=’get请求方式

4.6 csrf_token:这个标签用于跨站请求伪造保护

{ % csrf_token %}  通常加在表单中不加而且没有关闭django  csrf的中间件,会403错误

5. 过滤器

5.1 过滤器语法

1)语法:{ { 变量|过滤器 }}

2)例如{ { name|lower }},表示将变量name的值变为小写输出

3)使用管道符号 (|)来应用过滤器

4)通过使用过滤器来改变变量的计算结果

 

5.2 过滤器常用形式

1)可以在if标签中使用过滤器结合运算符

if list1|length > 1

2)过滤器能够被“串联”,构成过滤器链

name|lower|upper

3)过滤器可以传递参数,参数使用引号包起来

list|join:", "   引号必须为双引号

4)default:如果一个变量没有被提供,或者值为false或空,则使用默认值,否则使用变量的值

value|default:"什么也没有"

5)date:根据给定格式对一个date变量格式化

value|date:'Y-m-d'

6)escape:详见“HTML转义”

 

5.3 Django 过滤器表

过滤器

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值