Django 学习第四天——Django 模板标签
一、模板标签:
作用:标签在渲染的过程中提供任意的逻辑;例如 if for...in... 等
标签语法:由 {% %} 来定义的;例如:{% tag %}xxx{% endtag %}
常用标签:
if 标签:
可以使用 and or in not == != <= >= 来进行判断
{% if a == "xx" %} # == 号两边必须要有空格 判断成立执行的语句 {% elif a == "zz" %} 判断成立执行的语句 {% else %} 执行的语句 {% endif %}
for...in...标签:
跟 python 中的 for...in... 是一样的用法
forloop.counter:当前迭代的次数,下标从 1 开始;
forloop.counter0:当前迭代的次数,下标从 0 开始;
forloop.revcounter:当前迭代次数倒序,从最大到 1 ;
forloop.revcounter0:当前迭代次数倒序,从最大到 0;
{% for i in ls %}
{{ i }}
{% endfor %}
url 页面转换:
返回一个命名了的 url 的绝对路径;


with 的使用:
缓存一个变量:
{% with test_name as tn %}
{{ tn }}在这里面就可以直接用 tn 代替 test_name了
{% endwith %}
autoescape 的使用:
开启和关闭自动转义


二、模板的继承与引用:
继承:
模板继承可以让你创建一个基本的 “骨架” 模板,它包含了你站点中的全部元素,并且可以定义能够被子模板覆盖的 block;
新建一个模板继承页,这个一般用 base.html 命名
在要继承的 html 文件的最开始写
{% extends 'base.html' %} # templates 文件夹里 base.html 文件的相对路径
base.html:

index.html

总结:
模板继承使用 extends 标签实现;通过使用 block 来给子模板开放接口;
extends 必须是模板中的第一个出现的标签;
子模版中的所有内容,必须出现在父模板定义好的 block 中,否则 django 将不会渲染;
如果出现重复代码,就因该考虑使用模板;
尽可能多的定义 block ,方便子模版实现更细的需求;
如果在某个 block 中,要使用父模板的内容,使用 block.super 获取。
引用:
{% include '要引用的文件' %}
当前模板可以直接使用别的渲染好的模板
Django 学习第四天——Django 模板标签的更多相关文章
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django( 学习第四部 Django的views视)
目录 视图层 JsonResponse对象 form表单之文件上传 request方法及属性 FBV与CBV JsonResponse对象 前端序列化 JSON.stringify() json.du ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
- Django学习笔记(3)--模板
模板 在实际的页面大多是带样式的HTML代码,而模板是一种带有特殊语法的html文件,这个html文件可以被django编译,可以传递参数进去, 实现数据动态化.在编译完成后,生成一个普通的html文 ...
- Django学习---路由url,视图,模板,orm操作
Django请求周期 url -> 路由系统 ->函数或者类 -> 返回字符串 或者 模板语言 Form表单提交: 点击提交 -> 进入url系统 -> 执行函数 ...
- django学习笔记(二)模板
1.当模板中的变量名遇到点时,以下面的顺序查找(短路逻辑): (1)字典类型查找: >>> from django.template import Template, Context ...
- Django框架基础知识05-自定义模板标签与过滤器
根据一定规则,自己定义出符合需求功能的.用在任何你有需求的地方,因为内置的满足不了我们的需求,不同的东西有不同的定义规则 目前最最重要的就是HOW 一 文件路径配置: templates 存放自定义 ...
- django学习~第四篇
django表单 1 今天继续来学学django的表单 首先介绍下http的方法,这是最基本的 GET 方法 GET一般用于获取/查询 资源信息,以?分割URL和传输数据 ...
- [python][django学习篇][3]创建django web的数据库模型
推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...
随机推荐
- Confluence 6 整合到其他数据库
这个文档描述了如何整合你的 Confluence 数据库从你已经存在的数据库上到其他的数据库.这个指南被用来指导你从使用评估数据库转移到使用生产数据库. 大数据量需要第三方的数据库整合工具. 本页面对 ...
- 【DOS】文件统计命令
1. 统计当前文件夹下文件的个数 ls -l|grep "^-"|wc -l 2. 统计当前文件夹下目录的个数 ls -l|grep "^d"|wc -l 3. ...
- linux文件权限目录配置笔记
###linux 文件权限目录配置笔记 ---------- 多人多任务环境 linux 一般将文件可存取的身份分为三个类别:owner group others Permission deny ls ...
- noip 初赛复习重点知识点
一.进制转化 将k进制数转化为十进制数: 设k进制数为(abcd)k,则对应十进制数为 (小数同理,乘k的负幂次) 将十进制数转成k进制数: 设十进制数为x: t1=x/k,t2=x mod k t1 ...
- Python字典(Dictionary)
Python中字典与类表类似,也是可变序列,不过与列表不同,他是无序的可变序列,保存的内容是以键 - 值对的形式存放的.类似我们的新华字典,他可以把拼音和汉字关联起来,通过音节表可以快速的找到想要的字 ...
- Appium 如何模拟按键
from appium.webdriver import Remote driver.keyevent(4) python中点击返回键是这样写的 附录 keycode 电话键 KEYCODE_CALL ...
- K8s-Pod控制器
在K8s-Pod文档中我们创建的Pod是非托管的Pod,因为Pod被设计为用后就弃的对象,如果Pod正常关闭,K8s会将该Pod清除,它没有自愈的能力.Pod控制器是用来保持Pod状态的一种对象资 ...
- java 数据类型相关的内容
√基本数据默认值是:0 √ 引用类型是默认值:null 局部变量不能初始化 单精度浮点有后缀: Flong后面如果不加后缀L系统将默认为int类型 不管单精度还是双精度浮点,都比整数类型的范围大,原因 ...
- 字典树HihoCoder - 1014
输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词(不保证是英文单词,也有可能是火星文单词哦),单词由不超过10个的小写英文字母组成,可能存在相同的单词,此时应将其视作不同的单词.接 ...
- elemnt UI点击事件失效,得到tab的序号
在用element 的tab的时候发现 事件绑定没有作用 看了官网才知到内置有回掉函数 绑定的地方是 <el-tabs></el-tabs> <template> ...