最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Flask入門(mén)之模板

 更新時(shí)間:2021年11月11日 17:21:05   作者:一只楚楚貓  
今天小編就為大家分享一篇Python Flask模板的入門(mén)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在一般的 Web 程序里,訪問(wèn)一個(gè)地址通常會(huì)返回一個(gè)包含各類(lèi)信息的 HTML 頁(yè)面。因?yàn)槲覀兊某绦蚴莿?dòng)態(tài)的,頁(yè)面中的某些信息需要根據(jù)不同的情況來(lái)進(jìn)行調(diào)整,比如對(duì)登錄和未登錄用戶顯示不同的信息,所以頁(yè)面需要在用戶訪問(wèn)時(shí)根據(jù)程序邏輯動(dòng)態(tài)生成。

我們把包含變量和運(yùn)算邏輯的 HTML 或其他格式的文本叫做模板,執(zhí)行這些變量替換和邏輯計(jì)算工作的過(guò)程被稱(chēng)為渲染(模板渲染引擎——Jinja2)。

按照默認(rèn)的設(shè)置,F(xiàn)lask 會(huì)從程序?qū)嵗谀K同級(jí)目錄的 templates 文件夾中尋找模板。

在這里插入圖片描述

模板基本語(yǔ)法

在模板里,你需要添加特定的定界符將 Jinja2 語(yǔ)句和變量標(biāo)記出來(lái)

下面是三種常用的定界符:

1、{{ … }} 用來(lái)標(biāo)記變量。

2、{% … %} 用來(lái)標(biāo)記語(yǔ)句,比如 if 語(yǔ)句,for 語(yǔ)句等。

3、{# … #} 用來(lái)寫(xiě)注釋。

模板中使用的變量需要在渲染的時(shí)候傳遞進(jìn)去。

編寫(xiě)主頁(yè)模板

我們先在 templates 目錄下創(chuàng)建一個(gè) movie.html 文件,作為主頁(yè)模板。主頁(yè)需要顯示電影條目列表和個(gè)人信息,代碼如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>movie list</title>
</head>
<body>
    {# 使用 length 過(guò)濾器獲取 movies 變量的長(zhǎng)度 #}
    <p>{{ movies|length }} Titles</p>
    <ul>
        {% for movie in movies %} {# 迭代 movies 變量 #}
        <li>{{ movie.title }} - {{ movie.year }}</li> {# 等同于 movie['title'] #}
        {% endfor %} {# 使用 endfor 標(biāo)簽結(jié)束 for 語(yǔ)句 #}
    </ul>
</body>
</html>

為了方便對(duì)變量進(jìn)行處理,Jinja2 提供了一些過(guò)濾器(和Vue.js框架中的過(guò)濾器有著異曲同工之妙),語(yǔ)法形式如下:
{{ 變量|過(guò)濾器 }}

左側(cè)是變量,右側(cè)是過(guò)濾器名。比如,上面的模板里使用 length 過(guò)濾器來(lái)獲取movies 的長(zhǎng)度,類(lèi)似 Python 里的 len() 函數(shù)。

準(zhǔn)備虛擬數(shù)據(jù)

為了模擬頁(yè)面渲染,我們需要先創(chuàng)建一些虛擬數(shù)據(jù),用來(lái)填充頁(yè)面內(nèi)容,其中template.py中定義虛擬數(shù)據(jù)。

movies = [{'title': '長(zhǎng)津湖', 'year': '2021'},{'title': '送你一朵小紅花', 'year': '2021'}]

渲染主頁(yè)模板

使用 render_template() 函數(shù)可以把模板渲染出來(lái),必須傳入的參數(shù)為模板文件名(相對(duì)于 templates 根目錄的文件路徑),這里即 ‘movie.html' 。為了讓模板正確渲染,我們還要把模板內(nèi)部使用的變量通過(guò)關(guān)鍵字參數(shù)傳入這個(gè)函數(shù),如下所示:

from flask import Flask, render_template
 app = Flask(__name__)
 
@app.route('/')
def movie():
    return render_template('movie.html', movies=movies)
 
if __name__ == "__main__":
    app.run()

在傳入 render_template() 函數(shù)的關(guān)鍵字參數(shù)中,左邊的 movies 是模板中使用的變量名稱(chēng),右邊的movies 則是該變量指向的實(shí)際對(duì)象。這里傳入模板的movies 是列表,但能夠在模板里使用的不只這一種 Python數(shù)據(jù)結(jié)構(gòu),你也可以傳入字符串、元組、字典、函數(shù)等。

render_template() 函數(shù)在調(diào)用時(shí)會(huì)識(shí)別并執(zhí)行 “movie.html” 里所有的 Jinja2 語(yǔ)句,返回渲染好的模板內(nèi)容。在返回的頁(yè)面中,變量會(huì)被替換為實(shí)際的值(包括定界符),語(yǔ)句(及定界符)則會(huì)在執(zhí)行后被移除(注釋也會(huì)一并移除)。

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python修改字符串值的三種方法

    python修改字符串值的三種方法

    本文主要介紹了python修改字符串值的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python 私有函數(shù)的實(shí)例詳解

    Python 私有函數(shù)的實(shí)例詳解

    這篇文章主要介紹了Python 私有函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能掌握Python 私有函數(shù)的使用方法,需要的朋友可以參考下
    2017-09-09
  • python重試裝飾器示例

    python重試裝飾器示例

    python 寫(xiě)一些網(wǎng)絡(luò)服務(wù)的時(shí)候總會(huì)拋出一些異常,當(dāng)前任務(wù)就被終止了,利用@裝飾器,寫(xiě)一個(gè)重試的裝飾器,下面是實(shí)現(xiàn)示例,需要的朋友可以參考下
    2014-02-02
  • Pytorch修改ResNet模型全連接層進(jìn)行直接訓(xùn)練實(shí)例

    Pytorch修改ResNet模型全連接層進(jìn)行直接訓(xùn)練實(shí)例

    在本篇文章里小編給大家整理的是關(guān)于Pytorch修改ResNet模型全連接層進(jìn)行直接訓(xùn)練相關(guān)知識(shí)點(diǎn),有需要的朋友們參考下。
    2019-09-09
  • python技巧分享Excel創(chuàng)建和修改

    python技巧分享Excel創(chuàng)建和修改

    這篇文章主要介紹了python技巧分享Excel創(chuàng)建和修改,openpyxl是一個(gè)讀寫(xiě)Excel文檔的Python庫(kù),能夠同時(shí)讀取和修改Excel文檔。下面來(lái)看下文詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-02-02
  • python?Matplotlib繪制炫酷柱狀圖的藝術(shù)與技巧大全

    python?Matplotlib繪制炫酷柱狀圖的藝術(shù)與技巧大全

    柱狀圖(Bar Plot)是一種常用的數(shù)據(jù)可視化方式,用于顯示各個(gè)類(lèi)別之間的比較,下面這篇文章主要給大家介紹了關(guān)于python?Matplotlib繪制炫酷柱狀圖的藝術(shù)與技巧大全,需要的朋友可以參考下
    2024-03-03
  • Python類(lèi)型注解必備利器typing模塊全面解讀

    Python類(lèi)型注解必備利器typing模塊全面解讀

    在Python 3.5版本后引入的typing模塊為Python的靜態(tài)類(lèi)型注解提供了支持,這個(gè)模塊在增強(qiáng)代碼可讀性和維護(hù)性方面提供了幫助,本文將深入探討typing模塊,介紹其基本概念、常用類(lèi)型注解以及使用示例,以幫助讀者更全面地了解和應(yīng)用靜態(tài)類(lèi)型注解
    2024-01-01
  • 從零學(xué)Python之入門(mén)(四)運(yùn)算

    從零學(xué)Python之入門(mén)(四)運(yùn)算

    最近2天,各種不順利,還被一個(gè)油門(mén)當(dāng)剎車(chē)的憨貨給追尾了,所以本系列發(fā)的比較少,本文是系列的第四篇,講述的是Python的運(yùn)算
    2014-05-05
  • Python中的map()、apply()、applymap()的區(qū)別小結(jié)

    Python中的map()、apply()、applymap()的區(qū)別小結(jié)

    map()、apply()和applymap()方法是Python中常用的轉(zhuǎn)換方法,,輸出的結(jié)果及類(lèi)型完全取決于作為給定方法的參數(shù)的函數(shù),本文就來(lái)介紹一下這三種方法的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • python流水線框架pypeln的安裝使用教程

    python流水線框架pypeln的安裝使用教程

    這篇文章主要介紹了python流水線框架pypeln的安裝使用教程,通過(guò)安裝pip install pypeln,基本元素在文中給大家介紹過(guò),需要的朋友可以參考下
    2021-05-05

最新評(píng)論

沁阳市| 仪陇县| 柳江县| 鹿泉市| 东宁县| 义乌市| 定远县| 齐齐哈尔市| 丹阳市| 泰来县| 景宁| 白朗县| 罗平县| 昌乐县| 呼玛县| 体育| 麻江县| 南康市| 五大连池市| 莲花县| 阿克陶县| 太保市| 新蔡县| 望奎县| 郯城县| 玉田县| 平度市| 县级市| 阜阳市| 余干县| 广东省| 同仁县| 齐齐哈尔市| 东兰县| 长治市| 邓州市| 沾益县| 城口县| 德庆县| 桃园市| 时尚|