溫馨提示×

溫馨提示×

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

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

flask中什么是模板

發(fā)布時間:2020-11-25 11:59:18 來源:億速云 閱讀:158 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)flask中什么是模板的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

模板-Templates

什么是模板

模板是一個包含響應(yīng)文本的文件(通常是html文件),該文件中允許包含"占位變量"來表示動態(tài)的內(nèi)容,其具體值在請求中才能知道。"占位變量"最終會被真實的值所替換。模板最終也會被解析成響應(yīng)的字符串,這一過程稱為"渲染"。Flask實際上是使用 Jinja2 強大的模板引擎。

模板的設(shè)置

默認情況下,F(xiàn)lask會在程序文件夾中的 templates 子文件夾中尋找模板,需要手動創(chuàng)建 templates 文件夾。

渲染模板

在 視圖函數(shù)中,通過return render_template()將模板渲染成字符串再響應(yīng)給客戶端

render_template('xxx.html',arg1 = value1,arg2 = value2)
# 參數(shù)1:xxx.html,要渲染給客戶端的html模板文件
# 參數(shù)2 ~ n:要傳遞給模板動態(tài)顯示的變量占位符,如果沒有動態(tài)的變量占位符,則可以省略
# 返回值:字符串

模板語法

變量

變量時一種特殊的占位符,告訴模板引擎該位置的值是從渲染模板時的數(shù)據(jù)中來獲取的。變量類型可以是python中的任意數(shù)據(jù)類型。

在視圖中

@app.route('/')
def index():
    return render_template('xxx.html',name='sf.zh',age=18)
# name和age就是要傳遞到xxx.html中的變量

在模板中

{{變量名}}
{{params.變量名}}

變量的傳遞方式

直接傳遞

# 方式一,直接傳遞
@app.route('/temp')
def temp():
    res = render_template('temp.html',
                          title = '關(guān)于本書',
                          bookName = '《鋼鐵是咋練成的》',
                          bookAuthor = '奧斯特洛夫斯基',
                          bookPrice = '32.5',
                          bookPlace = '北京大學(xué)出版社')
    return res

將變量封裝為字典

@app.route('/temp')
def temp():
    bookInfo = {
        'title':'關(guān)于本書',
        'bookName':'《鋼鐵是咋練成的》',
        'booAuthor':'奧斯特洛夫斯基',
        'bookPrice':32.5,
        'bookPlace':'北京大學(xué)出版社'
    }
    res = render_template('temp.html',params = bookInfo)
    return res

感謝各位的閱讀!關(guān)于flask中什么是模板就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

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

AI