django_模板层的变量和标签
一、模板层的变量
1、能传递到模板层的数据类型:str(字符串)、list(数组)、dict(字典)、obj(类实例化的对象)、fun(函数)等。
2、在模板中使用变量的方法:
(1)字符串:{{ 变量名 }}
(2)数组:{{ 变量名.index }}
(3)字典:{{ 变量名.key }}
(4)对象:{{ 对象.方法 }}
(5)函数:{{ 函数名 }}
二、模板层的标签
1、标签的作用:将一些服务器端的功能嵌入到模板中,例如流程控制(IF、FOR等)等。语法如下:
2、if标签
if标签的注意事项:(1)if条件表达式里可以用的运算符==,!=,<>,<=,>=,in,not in,is,is not,not,and,or;(2)在if标记中使用括号是无效的语法。如果需要指示优先级,则应使用嵌套的if标记。
3、if标签测试
(1)视图文件view文件中新建视图函数。
(2)添加html文件
(3)添加路由
(4)测试
4、if标签练习
(1)任务:完成下图所以的计算器,要求:每点击完“开始计算”之后,页面保留用户提交的值和选择的操作(加减乘除)
分析:这个属于典型的既有get请求又有post请求。当get请求进来是,将展示计算器页面;提交数据进行后端计算,则属于post请求。
(2)view函数中的代码
在view中建立如下视图函数。当用户进入此路由时,即为get请求,get请求就将对应的html静态页面返回。当用户填写完计算值,并点击提交之后,获取模板中上送的值,并进行计算,再将计算结果返回给模板。(小技巧:使用locals可以自动将当前函数中的变量拼接成字典)
(3)html代码
(4)配置路由
(5)测试效果
4、for标签
(1)语法如下:
for标签的内置变量
(2)for循环测试
新建view函数
配置html
配置路由并测试结果
三、总结
1、可以将不同数据类型的变量从view层传递到模板层
2、在模板层调用变量的方法为{%标签%}{%结束标签%}
3、模板层支持if和for循环。
django_模板层的变量和标签的更多相关文章
- Django框架(七)—— 模板层:变量、过滤器、标签、自定义标签和过滤器
目录 模板层:变量.过滤器.标签.自定义标签和过滤器 一.模板层变量 1.语法 2.使用 二.模板层之过滤器 1.语法 2.常用过滤器 3.其他过滤器 三.模板值标签 1.for标签 2.if标签 3 ...
- Django框架(六)--模板层:变量、过滤器、标签、自定义标签和过滤器
将页面的设计和Python的代码分离开会更干净简洁更容易维护. 我们可以使用 Django的 模板系统 (Template System)来实现这种模式 # django模板修改的视图函数 def c ...
- Django框架之第五篇(模板层) --变量、过滤器、标签、自定义标签、过滤器,模板的继承、模板的注入、静态文件
模板层 模板层就是html页面,Django系统中的(template) 一.视图层给模板传值的两种方法 方式一:通过键值对的形式传参,指名道姓的传参 n = 'xxx'f = 'yyy'return ...
- Django之模板层-自定义过滤器以及标签
自定义标签与过滤器 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是t ...
- Django模板层学习笔记
一. 前言 Django模板层的知识包括标签.过滤器.自定义标签.自定义过滤器以及inclusion_tag,最重要的是模板的继承和导入. 首先模板层最重要的是模板语法,之前我们提过涉及到变量用模板语 ...
- $Django 模板层(变量、过滤器 、标签)、自定义(模板过滤器,标签)
1 模版语法之变量:详见源码 -{{ 变量 }}:******重要******{#相当于print了该变量#} {#只写函数名 相当于()执行了#}<p>函数:{{ test }}< ...
- Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)
摘要: 模版层(模板语法) 模板语法 过滤器 标签 自定义过滤器.标签 inclusion_tag 模板的继承 模板的导入 一.模板语法: 常用语法:{{ }} 变量相关{% %} ...
- 模板层语法、模板层之标签、模板的继承与导入、模型层之ORM常见关键字
模板层语法.模板层之标签.模板的继承与导入.模型层之ORM常见关键字 一.模板层语法 1.模板语法的传值 urls代码: path('modal/', views.modal) views代码: de ...
- 12月14日内容总结——模板层之标签、自定义模板语法、母版(模版)的继承与导入、模型层前期准备知识点、ORM常用关键字
目录 一.模板层之标签 分支结构if for循环 with(定义变量名) 二.自定义过滤器.标签及inclusion_tag(了解) 三.母版(模板)的继承与导入(重要) 四.模型层之前期准备 模型层 ...
- Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)
前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...
随机推荐
- 【情景题】NPDP经典题目(下)
1.员工Mary是ACE电气公司的产品经理,公司高管要求她准备一份评价标准清单,从而以该清单为基础来对该产品组合中的新机会进行评价.她提交的清单如下:-潜在市场份额-对公司获利能力的潜在贡献-产品开发 ...
- BIP change数据改变前的事件
viewModel .get("certMaterialClass_name") .on("beforeValueChange", function (data ...
- lua-table类的继承
--男人类man = {name = "man",age=123}--继承空间man.__index=man--儿童类child= {}--继承setmetatable(child ...
- (K8s学习笔记八)Pod的扩缩容
1.手动扩容机制 示例:对busybox-deployment手动扩缩容 apiVersion:apps/v1 kind: Deployment metadata: name: busybox-dep ...
- 论文笔记:To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem?
论文笔记:To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem? Conclusion 如果对象平均大小 ...
- Mac实现截图OCR输出文字功能
为什么要这个功能 工作中会经常遇到需要识别一个图片中的文本内容,需要快速的OCR识别,从而提高工作效率: 如何实现 snipaste + pngpaste + tesseract 安装流程与使用 安装 ...
- 1.java 开始
WelloWorld 随便新建一个文件夹,存放代码 新建一个java文件 编写代码 编译javac java文件,生成一个class文件 运行class文件,java class 可能遇到的情况 每个 ...
- 混淆css类名
使用vite:
- windows服务包装程序
有些程序想随windows启动而自动运行,这样部署为windows服务是最自然的选择,但是有些第三方的程序,没有提供windows 服务的部署方式,或者自己写的程序,每次都要为部署为windows服务 ...
- css 多行隐藏
overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box- ...