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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 22年12月更新:個人網站關停,如果仍舊對舊教程有興趣參考 Github 的markdown內容[https://...
    tangyefei閱讀 35,224評論 22 257
  • 第四章 Web表單 序:為什么需要Flask-wtf 第 2 章中介紹的請求對象包含客戶端發出的所有請求信息。其中...
    科幻經典閱讀 876評論 0 2
  • 第4章 Web表單 我們在第二章介紹過請求對象,它包含有客戶端請求的全部信息。尤其是,可以通過request.fo...
    易木成華閱讀 1,053評論 0 1
  • 我記性不好,孩提時的事大都沒有一點印象。在我有意識以來我就已經會走會跑,會唱會跳,識字算數了。因此,看到自己孩子如...
    子苓00閱讀 257評論 0 2
  • 陽光 /小聰 春天 你象嬰兒的小手 握緊的是一無所有 放開手萬物復蘇 夏天 你象戀人的胸口 焚燒著欲望的狂熱 陰霾...
    令狐小聰閱讀 137評論 0 0