栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Flask学习之旅——2.3 控制语句

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flask学习之旅——2.3 控制语句

Flask学习之旅——2.3 控制语句 前言
  • 本文为《知了传课——控制语句》的学习笔记。
  • 原文地址:第四节:控制语句 - Python框架Flask基础教程 - 知了传课 (zlkt.net)
控制语句

所有的控制语句都是放在{% ... %}中,并且有一个语句{% endxxx %}来进行结束,Jinja中常用的控制语句有if/for..in..

if语句

Jinja中的if语句和python中的的if语句类似,可以使用>,<,<=,>=,==,!=来进行判断,也可以通过and,or,not,()来进行逻辑合并操作。

栗子

{% if age > 18 %}
	
您已成年!
{% elif age < 18 %}
你的内容
{% else %}
你的内容
{% endif %}

(注意:在使用if语句时,结尾处需要加上{% endif %})

测试器

测试器主要用来判断一个值是否满足某种类型,并且这种类型一般通过普通的if判断是有很大的挑战的。语法是:if...is...,先来简单的看个栗子:

{% if variable is escaped %}  //判断变量的值是否被转义
	变量被转义了,value of variable: {{ escaped }} 
{% else %}
    变量未被转义
{% endif %}

以上判断variable这个变量是否已经被转义了。

Jinja中内置了许多的测试器,如下表所示:

测试器说明
callable(object)是否可调用
defined(object)是否已经被定义了。
escaped(object)是否已经被转义了。
upper(object)是否全是大写。
lower(object)是否全是小写。
string(object)是否是一个字符串。
sequence(object)是否是一个序列。
number(object)是否是一个数字。
odd(object)是否是奇数。
even(object)是否是偶数。
for循环

for循环可以遍历任何一个序列包括列表、字典、元组。并且可以进行反向遍历。

(注意:不可以使用continue和break表达式来控制循环的执行。)

  • 普通的遍历:

      {% for user in users %}
    • {{ user }}
    • {% endfor %}
  • 遍历字典:

    {% for key, value in dict.items() %}
    {{ key }}
    {{ value }}
    {% endfor %}
  • 如果序列中没有值的时候,进入else:

      {% for user in users %}
    • {{ user }}
    • {% else %}
    • no users found
    • {% endfor %}

并且Jinja中的for循环还包含以下变量,可以用来获取当前的遍历状态:

变量描述
loop.index当前迭代的索引(从1开始)
loop.index0当前迭代的索引(从0开始)
loop.first是否是第一次迭代,返回True或False
loop.last是否是最后一次迭代,返回True或False
loop.length序列的长度
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号