Django 模板进阶

Django 模板进阶

1、模板加载顺序

1)首先去配置的模板目录下面去找模板文件
2)去INSTALL_APPS下面的每个应用中去找模板文件,前提是应用中必须有templates文件夹

2、模板变量

模板变量的解析顺序
例如:{{book.btitle}}
1)首先把book当成一个字典,把btitle当成键名,进行取值book[‘btitle’]
2)把book当成一个对象,把btilte当成属性,进行取值book.btitle
3)把book当成一个对象,把btitle当成对象的方法,进行取值book.btitle
例如:{{book.0}}
1)首先把book当成一个字典,把0当成键名,进行取值book[0]
2)把book当成一个列表,把0当成下标,进行取值book[0]
如果解析失败,则产生内容时用空字符串填充模板变量。
使用模板变量时, .前面的可能是一个字典,可能是一个对象,还可能是一个列表。

3、模板注释

单行注释:{# 注释内容 #}
多行注释:{% comment %}
注释内容
{% endcomment %}

4、模板继承

{% extends ‘模板路径’ %}
例如:{% extends ‘booktest/base.html’ %}

在父模板里可以定义块,使用标签
{% block 块名 %}
块中间可以写内容,也可以不写
{% endblock 块名 %}
子模板继承父模板之后,可以重写父模板中的某一块内容
可以在子模板重写块中使用
{% block.super.%}
获取父模板中的内容。

5、模板标签和过滤器参考官方文档

模板标签和过滤器参考文档

6、HTML转义

在模板上下文的html标记默认是会被转义的。
小于号 < 转换为<
大于号 > 转换为>
单引号 ‘ 转换为&#39
双引号 " 转换为&quat;
与符号 & 转换为&
要关闭模板上下文字符串的转义:可以使用{{ 模板变量|safe }}
也可以使用:
{% autoescape off %}
模板语言代码
{% endautoescape %}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值