flask 渲染jinja2模版和传参
生活随笔
收集整理的這篇文章主要介紹了
flask 渲染jinja2模版和传参
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
渲染模版(html文件)
A、模版文件(html)放入到template目錄下,項目啟動的時候會從template目錄里查找,
B、從flask中導入“render_tempalte”函數(shù)
C、在視圖函數(shù)中,使用render_template函數(shù),渲染模版(只需要填寫模版名稱即可)
?
示例:
from flask import Flask,url_for,redirect,render_template #導入模版函數(shù)app = Flask(__name__)@app.route('/') def index():info = { #定義字典'username' :'name','gender':"man",'height' : "178"}#如果有多個參數(shù),可以將所有的參數(shù)放到字典中,然后以**kwargs的方式傳遞進去,info為上面定義的字典return render_template('index.html',**info) #這里直接寫模版文件名稱,如果在模版文件在temlate/html目錄下,則這里需要寫'html/index.html'#渲染模版,傳參數(shù),如果參數(shù)較少,可以直接寫關鍵字參數(shù)及值,如下:#return render_template('index.html',username='name',gender="man",height="178") if __name__ == '__main__': app.run(debug=True)if __name__ == '__main__':app.run(debug=True)
index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><p>第一個flask頁面</p><p>姓名:{{ username }}</p> #使用{{}}用來使用變量<p>height:{{ height }}</p> </body> </html>?
模版中的變量說明,示例:
flask_one.py#encoding:utf-8 from flask import Flask,url_for,redirect,render_templateapp = Flask(__name__)@app.route('/') def index():class Person(object):name='tttt'age=18p = Person() info = {'username' :'name','gender':"man",'height' : "178",'person':p,'city':{'bj':"bj",'tj':'tj'}}return render_template('index.html',**info)#return render_template('index.html',username='name',gender="man",height="178")if __name__ == '__main__':app.run(debug=True)index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><p>第一個flask頁面</p><p>姓名:{{ username }}</p><p>height:{{ height }}</p><hr><p>{{ person.name }}---{{ person.age }}</p> #此處對應上面py中定義的Person類<p>{{ city.bj }}</p> #此處對應字典內(nèi)的字典,一共兩種取值方式,一是常規(guī)的字典取值,二是用"." <p>{{ city['tj'] }}</p> </body> </html>
?
?
轉載于:https://www.cnblogs.com/FRESHMANS/p/8424625.html
總結
以上是生活随笔為你收集整理的flask 渲染jinja2模版和传参的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-常用函数模块学习-subp
- 下一篇: lldb使用