Django基础(5)--模板

Django中的模板

Django中的模板其实就是HTML文档,在文档中使用特殊的符号来对视图函数要传入的变量进行字符串格式化,最终生成一个静态页面。

模板文件的加载顺序:①去配置的模板目录下寻找(在settings.py中);
②去各个应用下的templates目录中寻找(无需配置,会自动查找)。

render函数的实现过程:①加载模板文件;
②定义模板上下文并给其传参;
③模板渲染产生标准的html内容,封装为render(request, ‘模板路径’, 参数字典);

模板语言(Django Template Language)

在html中书写并生效,用于接收和使用传入的数据。

模板变量:由数字、字母、下划线和点组成,但不能以下划线开头,其解析顺序以{ { book.title }}为例
①把book作为字典,取book[‘title’];
②把book作为一个对象,将title作为属性,book.title;
③把book作为一个对象,将title作为方法,取book.title;(其中book可以是字典/对象/列表等,如book.0则会先将book作为字典取book[‘0’],再将book作为列表取book[0])(注意当解析失败的时候不报错,会使用空字符串填充模板变量);

模板标签:用于在模板(html文件)中应用语句,其应用方法遵照python语言的方式,常用的有
①{% for %}{% forloop.counter %}(记录循环次数){% empty %}(无内容时显示){% endfor %};
②{% if/else/elif %}{% endif %}其中支持比较运算符和逻辑运算符;
③{% ifequal/ifnotequal value1 value2%}{% else %}(判断值1和2是否相等,不支持复杂数据类型如列表字典等);
④{# 单行注释 #}{% comment %}多行注释{% endcomment %}(模板的注释在html源代码中时看不到的);

模板过滤器:用于在显示变量之前变更值(其实现方式类似于lambda函数),以下为一些常用的模板过滤器:
①{ { value|add:‘2’ }}(注意不要随意添加空格)
②capfirst首字母大写
③cut:'xxx’从字符串中移除指定的字符
④default:'xx’当值为空时用以代替
⑤date格式化日期字符串,如date:‘Y年m月d日’
⑥first/last返回列表中的首/末值
⑦length求字符串或列表的长度
⑧upper/lower大/小写
⑨time:格式化时间

自定义模板过滤器:过滤器其实就是python函数,其使用流程如下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值