一、模板层的变量

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循环。

 

 posted on 2022-09-07 21:57  佩剑君子  阅读(181)  评论(0)    收藏  举报