中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flask_學習筆記_05: Flask中的網頁模板

發布時間:2020-06-18 01:41:02 來源:網絡 閱讀:1348 作者:臭臭粑粑 欄目:編程語言

今天來學習一下Flask中網頁模板以及網頁模板參數的使用。

如果你是使用Pycharm pro版的話,創建項目的時候,選擇Flask項目,所有的基礎文件和文件夾Pycharm會自動幫你創建出來,在網上找了張圖,僅供參考:

選擇項目類型:Flask,這里注意你的Python版本
Flask_學習筆記_05: Flask中的網頁模板
創建好之后就是下面的樣子:
Flask_學習筆記_05: Flask中的網頁模板

由于我用的是Pycharm community版本,沒有項目類型可選,但是自己補一下兩個文件夾就行,一個是static,一個是templates。
簡單說明一下,static是存放image, css等項目文件的。templates是存放頁面模板等項目文件的。
Flask_學習筆記_05: Flask中的網頁模板

下面就模擬一個需求,用戶已經登錄了,要在首頁顯示用戶的用戶名信息,再隨便寫一句歡迎的話。這里我們就要引入一個新的類:render_template,模板渲染。為什么這么叫?因為就是直接翻譯過來的,它的功能就是來渲染模板的,至于渲染這個詞,是繪圖術語,渲染在電腦繪圖中是指用軟件從模型生成圖像的過程。從這個定義來理解的話,就是美化,填充模型,讓模型更好看吧。就這么理解吧!

.py完整代碼如下:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template('index.html', username='uncleBen')

if __name__ == '__main__':
    app.run(debug=True)

需要注意的是:
首先,導入Flask和render_template
其次,在使用的時候,一般就是return的內容做渲染,那就是return render_template(),這個render_template()函數里需要傳一個最基本的參數就是你要渲染哪個頁面,告訴它html文件名就行,因為它默認就會去templates這個文件下找你提供的html文件名,所以你的html文件不要亂放,否則它會找不到的。另外一個參數就是你要在前端頁面中顯示什么?今天這個例子是要顯示用戶名,拿就傳一個username參數進去。如有其它參數,也可以加,然后賦值。

好了,py文件內容寫好了,那么html里的代碼應該這么寫呢?這么才能拿到參數的值呢?來看一下html的代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    歡迎<b>{{ username }}</b>來到您的個人主頁,這個頁面是templates文件夾中的index.html模板。
</body>
</html>

很簡單,唯一跟普通HTML文件的區別就是多了一個{{ username }},重點來了,在Flask項目的HTML中如下想引用參數(py文件中定義的),必須要用雙花括號{{ }}括起來,就好了。so easy啊!
來看一下效果,上面Py代碼里我傳的username='uncleBen',效果如下:
Flask_學習筆記_05: Flask中的網頁模板
然后我們再換一個用戶名,讓username='張無忌'
Flask_學習筆記_05: Flask中的網頁模板

如果有多個參數呢?那剛開始你肯定要這么寫了:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template('index.html', username='張無忌', reg_days=15, location='光明頂')

if __name__ == '__main__':
    app.run(debug=True)

運行一下,看看結果:
Flask_學習筆記_05: Flask中的網頁模板

但是如果還有更多參數呢???比如10個,20個,要寫這么多嗎?這樣會讓人看到很不爽和很不專業的感覺。

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    context = {
        'username': '張無忌',
        'reg_days': 100,
        'location': '光明頂'
    }
    return render_template('index.html', **context)

if __name__ == '__main__':
    app.run(debug=True)

為了區別,我把注冊時間改成了100,來,運行一下,看一下效果:
Flask_學習筆記_05: Flask中的網頁模板

小結

  1. 模板文件位置:應該放到templates文件夾下。
  2. 如果使用模板渲染函數,首先導入render_template類。
  3. 使用render_template()函數時,要告訴這個函數要渲染的html文件名,還有參數名和值,如果有的話。
  4. 在HTML中引用參數的格式:{{參數名}},一定要這個格式,這是Flask的語法,其它格式無效。
  5. 參數多的情況下,建議使用字典形式定義參數和值,然后在render_template()中利用**+字典名進行傳參。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太仆寺旗| 朝阳县| 客服| 武宣县| 贵州省| 太白县| 资讯| 玛多县| 甘德县| 中江县| 池州市| 荣成市| 成安县| 宜兰县| 阿克陶县| 昌黎县| 黄陵县| 澄迈县| 时尚| 霍邱县| 襄樊市| 大城县| 定兴县| 山东省| 麟游县| 八宿县| 洮南市| 越西县| 赤水市| 汉源县| 天全县| 柘城县| 霍邱县| 阳城县| 海阳市| 乌拉特前旗| 浮梁县| 监利县| 怀仁县| 朔州市| 天等县|