Flask系列教程(9)——控制语句

控制语句

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

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

    {% if kenny.sick %}
    Kenny is sick.
    {% elif kenny.dead %}
    You killed Kenny! You bastard!!!
    {% else %}
    Kenny looks okay --- so far
    {% endif %}
    
  2. for...in...for循环可以遍历任何一个序列包括列表、字典、元组。并且可以进行反向遍历,以下将用几个例子进行解释:

    • 普通的遍历:

      <ul>
      {% for user in users %}
      <li>{{ user.username|e }}</li>
      {% endfor %}
      </ul>
      
    • 遍历字典:

      <dl>
      {% for key, value in my_dict.iteritems() %}
      <dt>{{ key|e }}</dt>
      <dd>{{ value|e }}</dd>
      {% endfor %}
      </dl>
      
    • 如果序列中没有值的时候,进入else

      <ul>
      {% for user in users %}
      <li>{{ user.username|e }}</li>
      {% else %}
      <li><em>no users found</em></li>
      {% endfor %}
      </ul>
      

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

变量 描述
loop.index 当前迭代的索引(从1开始)
loop.index0 当前迭代的索引(从0开始)
loop.first 是否是第一次迭代,返回True或False
loop.last 是否是最后一次迭代,返回True或False
loop.length 序列的长度

另外,不可以使用continuebreak表达式来控制循环的执行。

如果想深入学习Flask,可以观看这套免费Flask教学视频:Flask入门到项目实战

</article>

版权声明: https://blog.csdn.net/huangyong1314/article/details/74651384

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,437评论 22 257
  • 第四章 Web表单 序:为什么需要Flask-wtf 第 2 章中介绍的请求对象包含客户端发出的所有请求信息。其中...
    科幻经典阅读 931评论 0 2
  • 第4章 Web表单 我们在第二章介绍过请求对象,它包含有客户端请求的全部信息。尤其是,可以通过request.fo...
    易木成华阅读 1,138评论 0 1
  • 我记性不好,孩提时的事大都没有一点印象。在我有意识以来我就已经会走会跑,会唱会跳,识字算数了。因此,看到自己孩子如...
    子苓00阅读 318评论 0 2
  • 阳光 /小聪 春天 你象婴儿的小手 握紧的是一无所有 放开手万物复苏 夏天 你象恋人的胸口 焚烧着欲望的狂热 阴霾...
    令狐小聪阅读 148评论 0 0

友情链接更多精彩内容