Django--模板系统、过滤器

一、模板系统(template)

    向页面中填充内容。

1、模板系统常用符号{{}}和{%%}

  • 如果在模板中需要解析变量使用{{}}.
  • 如果在模板中进行逻辑相关操作使用{%%}
  • 注释 {# … #},单行注释。

2、变量

  • 在Django的模板系统中变量使用的语法:{{ 变量名 }}。
  • 当模版引擎遇到变量,就会用值替换掉变量。
  • 变量的命名可以是字母数字以及下划线 ("_")的组合。
  • 变量名称中不能有空格或标点符号。

练习1:将index页面中的{{name}}替换为张三
demo01.html文件

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        大家好我叫{{ name }}我来自沈阳。
    </body>
</html>

views.py文件

def demo01(request):
    return render(request,'demo01.html',{'name':"张三"})

注意:key的名称和模板中的变量名称相同。

urls.py文件

urlpatterns = [
    path('admin/',admin.site.urls),
    path('demo01',views.demo01), # 将{{name}}替换成张三
]

3、点(.)的特殊含义

点(.)在模板语言中有特殊的含义。当模版系统遇到点("."),它将以以下顺序查询:

  • 字典查询 :如果向页面传递的是一个字典类型变量,变量名.key 获取值
  • 属性或方法查询:如果传递一个对象,变量名.变量名(此变量名有可能是属性,有可能是无参数方法名称)。
  • 数字索引查询:如果传递一个列表,变量名.索引。

二、Filters(过滤器)

1、default

    如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。

{{ value|default:"nothing"}}

    如果value没有传值或者值为空的话就显示nothing

2、length

    返回值的长度,作用于字符串和列表。

{{ value|length }}

    返回value的长度,如 value=[‘a’, ‘b’, ‘c’, ‘d’]的话,就显示4.

{#显示字符串长度#}
{{ s1 }}-->>{{ s1|length }}

3、slice

    切片
    格式:{{value|slice:"2:-1"}}

{#字符串切片#}
{{ s2 }}-->{{ s2|slice:'0:3' }}

4、date

    日期格式化过滤器
    格式:{{ value|date:"Y-m-d H:i:s"}}

{#时间#}
{{ time }}-->{{ time|date:'Y-m-d H:i:s' }}

5、cu’t

    移除value中所有的与给出的变量相同的字符串
    格式:{{ value|cut:' ' }},如果value为’i love you’,那么将输出’iloveyou’.

{#cut#}
{{ s3 }}-->{{ s3|cut:' ' }}

6、join

    使用拼接符连接列表,例如Python的str.join(list)
    格式: {{value|join:”_”}}

{#join#}
{{ s4 }}-->{{ s4|join:'_' }}

注意事项:

1.’|'左右没有空格
2.django的模板语言中提供了大约六十个内置过滤器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值