(六)flask框架使用教程系列——flask渲染jinja2模板和傳參
阿新 • • 發佈:2018-11-17
一、如何渲染jinja2
模板
- 模板放在
templates
資料夾下 - 從
flask
中匯入render_template
函式 - 在檢視函式中,使用
render_template
函式渲染模板。注意:只需要填寫模板的名字,不需要填寫templates
這個資料夾的路徑。如果templates
這個資料夾下面有目錄,那麼需要在填寫模板名字的時候加上這個路徑。
二、模板傳參
- 如果只有一個或者幾個少量引數,可以直接在
render_template
函式中新增關鍵字引數就可以了; - 如果有多個引數的時候,那麼可以先把所有的引數放在字典中,然後在
render_template
三、關鍵程式碼
I.使用模板程式碼
1.首先在templates
目錄下面建立一個index.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首頁</title>
</head>
<body>
html頁面作為templates資料夾下的模板!
</body>
</html>
2.在template.py
中使用模板:
# encoding:utf-8
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
3.執行效果圖
II. 模板中引數的傳遞
A.傳遞一個或者少量引數
1.傳遞一個或者少量引數index.hml
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首頁</title>
</head>
<body>
html頁面作為templates資料夾下的模板!
<p>部落格使用者名稱:{{ username }}</p>
<p>部落格密碼:{{ password }}</p>
<P>部落格級別:{{ level }}</P>
</body>
</html>
2.傳遞一個或者少量引數template.py
程式碼
# encoding:utf-8
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', username="csdnABC", password="123456", level="部落格專家")
if __name__ == '__main__':
app.run(debug=True)
3.傳遞一個或者少量引數執行效果圖
B.傳遞大量引數
1.傳遞大量引數index.hml
程式碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首頁</title>
</head>
<body>
html頁面作為templates資料夾下的模板!
<p>部落格使用者名稱:{{ username }}</p>
<p>部落格密碼:{{ password }}</p>
<P>部落格級別:{{ level }}</P>
<p>博主性別:{{ gender }}</p>
<p>博主博文數:{{ number }}</p>
</body>
</html>
2.傳遞大量引數template.py
程式碼
# encoding:utf-8
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
context = {
'username': u'csdnABC',
'password': u'123456',
'level': u'部落格專家',
'gender': u'男',
'number': u'1000'
}
return render_template('index.html', **context)
if __name__ == '__main__':
app.run(debug=True)
3.傳遞大量引數執行效果圖