django基础 第三章 模板变量

本文深入讲解Django模板系统,包括模板路径查找、变量解析规则、内置过滤器使用、静态文件引入及自定义过滤器实现。适合Django初学者及开发者进阶学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三章 模板变量

1 模板路径查找

查找顺序

在Django框架下得settings文件中进行设置

1606001-20190221185235418-734614192.png

优先查找主目录(DIRS), 当(APP_DIRS)设定为True, 还会寻找app中的模板目录,因此可以在app目录下放置模板

(应用于app复用,可将templates放置在app目录下) 注:只要找到一个符合的模板就返回

1606001-20190221185253492-321068782.png

2 模板变量介绍

静态页面:页面不随着时间,地点和用户及服务器而改变

动态页面:页面随着时间,地点和用户及服务器而改变

模板变量:命名规则同python 注:命名不能以下划线开头

1606001-20190221185308363-1503181727.png

1606001-20190221185321463-1672768010.png

3 模板变量解析规则

调用变量:显示变量,如有计算则返回计算结果

遇到点(.)的时候,按顺序查找:

字典键值查找

属性方法查找

数字索引查找

1606001-20190221185338830-1144435628.png

4 模板过滤器

使用公式:{{ 变量 | filter :'过滤内容' }}

常用模板过滤器

add >>>>>>>>>>>>>>>>>>>>将参数与值相加
capfirst >>>>>>>>>>>>>>>>>首字母大写
date >>>>>>>>>>>>>>>>>>>>日期格式化 {{ value|date:"D d M Y" }}
default >>>>>>>>>>>>>>>>>>如果变量解析失败,使用给定的默认值。{{ value|default:"nothing" }}
first >>>>>>>>>>>>>>>>>>>>返回列表的第一个元素
last >>>>>>>>>>>>>>>>>>>>返回列表的最有一个元素
slice >>>>>>>>>>>>>>>>>>>返回一个列表的切片
join >>>>>>>>>>>>>>>>>>>>连接字符串列表 同python中str.join
floatformat >>>>>>>>>>>>>>浮点数格式化 不指定小数位参数,默认保留一个为小数
length >>>>>>>>>>>>>>>>>>返回字符串或列表的长度
length_is >>>>>>>>>>>>>>>>判断字符串或列表长度是否指定的值 相同返回True
lower >>>>>>>>>>>>>>>>>>>字符串中的字母都变小写
upper >>>>>>>>>>>>>>>>>>>字符串中的字母都变大写
safe >>>>>>>>>>>>>>>>>>>>关闭变量的自动转义,使html标签生效
title >>>>>>>>>>>>>>>>>>>>>标题化

1606001-20190221185352848-87966810.png

xss跨域脚本攻击

即去除Django默认设置的转义{{ 代码|safe }}

1606001-20190221185405864-845355744.png

1606001-20190221185419511-1110149714.png

5 静态文件引入

css/js/icture

路径配置

设置static

1606001-20190221185432872-850646204.png

加载静态文件

(不推荐)1、硬编码

1606001-20190221185446178-569845489.png

2、模板标签引用

1606001-20190221185457131-910914205.png

6 自定义模板过滤器

定义:本质是自定义的函数,实现自己定义的功能

存放目录app / templatetags /

自定义过滤器步骤
1606001-20190225161649975-1511096637.png
项目设置中注册app(如果templatetags在别的目录需要则加入该目录)
1606001-20190225162018762-1784587624.png
自定义过滤器规则
1606001-20190225163202346-1947150097.png
自定义过滤器使用
1606001-20190225163645177-1452020186.png

转载于:https://www.cnblogs.com/xjl-dwy/p/10414596.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值