国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python Flask入門之模板

Python Flask入門之模板

2022-02-28 11:56一只楚楚貓 Python

今天小編就為大家分享一篇Python Flask模板的入門教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在一般的 Web 程序里,訪問一個地址通常會返回一個包含各類信息的 HTML 頁面。因為我們的程序是動態(tài)的,頁面中的某些信息需要根據(jù)不同的情況來進(jìn)行調(diào)整,比如對登錄和未登錄用戶顯示不同的信息,所以頁面需要在用戶訪問時根據(jù)程序邏輯動態(tài)生成。

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

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

Python Flask入門之模板

模板基本語法

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

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

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

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

3、{# … #} 用來寫注釋。

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

編寫主頁模板

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>movie list</title>
</head>
<body>
    {# 使用 length 過濾器獲取 movies 變量的長度 #}
    <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 語句 #}
    </ul>
</body>
</html>

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

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

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

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

?
1
movies = [{'title': '長津湖', 'year': '2021'},{'title': '送你一朵小紅花', 'year': '2021'}]

渲染主頁模板

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

?
1
2
3
4
5
6
7
8
9
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 是模板中使用的變量名稱,右邊的movies 則是該變量指向的實際對象。這里傳入模板的movies 是列表,但能夠在模板里使用的不只這一種 Python數(shù)據(jù)結(jié)構(gòu),你也可以傳入字符串、元組、字典、函數(shù)等。

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

Python Flask入門之模板

總結(jié)

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

原文鏈接:https://blog.csdn.net/julac/article/details/121267284

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久99 | 亚洲一区二区在线 | 日韩美女av在线 | 91高清在线 | 亚洲国产精品久久久久婷婷老年 | 狠狠淫| av一区二区在线观看 | 国产精品久久久久久久久久久久久 | jizz国产| 午夜成人免费电影 | 午夜视频在线 | 国户精品久久久久久久久久久不卡 | 最新高清无码专区 | 国产一区二区在线免费观看 | 狼人狠狠干 | 超碰在线91 | av伊人网| 亚洲欧美一区二区三区不卡 | 最近免费观看高清韩国日本大全 | 久久精品国产一区二区三区不卡 | 麻豆91在线观看 | 国产色视频在线播放 | 精品久久久久久久久久久久久久 | 九九综合 | 亚洲国产成人精品久久久国产成人一区 | 精品在线一区二区 | aa一级视频 | 国产精品密在线观看 | 青青草草 | 精品在线一区二区三区 | 国产精品99久久久久久动医院 | 成人免费小视频 | 国产精品视频入口 | 日韩电影二区 | 伦理午夜电影免费观看 | 免费大片黄在线观看 | 特级av| 日韩av免费看 | av大全在线观看 | 国产一区二区av | 久久久久久亚洲精品 |