flask框架實戰(zhàn)2

1、MTV模型介紹

  • 模型Model
    Flask- PyMongo/Flask-MongoKit
    Flask- SQLAlchemy
  • 視圖View
    Flask-WTF/bootstrap-flask/Flask-Uploads
  • 模板Template
    Jinja2

注意:其中視圖View是必須的,其余兩項為可選。

2、開發(fā)簡單網(wǎng)頁

使用flask庫里的Jinja2模板引擎,調(diào)用flask模塊里的render_template方法,將靜態(tài)的html文件傳入,同時也可以將數(shù)據(jù)傳輸?shù)絟tml文件中顯示。此時我們修改一下上述案例代碼:

from flask import  Flask,render_template  #導入render_template模塊
app=Flask(__name__)

@app.route('/')
def index():    
    return render_template("index.html")   #調(diào)用render_template函數(shù),傳入html文件參數(shù)

if __name__=="__main__":
    app.run(port=2023,host="127.0.0.1",debug=True)

如果這樣運行,pycharm終端會提示報錯,因為找不到index.html文件。flask框架在使用這個模板函數(shù)時,默認去尋找項目文件夾下的templates文件夾里的html文件。因此我們需要先新建一個templates文件夾,然后在里面新建一個html文件,項目結構及內(nèi)容參考如下:


image.png

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>welcome to 2020</title>
</head>
<body>
   welcome to my webpage
  <hr>
   <p>這是采用render_template模板方法獲得的內(nèi)容:</p>
   <br>
  {{data}}  #顯示出傳遞過來的變量內(nèi)容
</body>
</html>

如果想通過rendertemplate方法傳輸數(shù)據(jù),在html文件中顯示出來,一方面需要在render_template函數(shù)中加入數(shù)據(jù)參數(shù),如data=msg,這里msg為參數(shù)值,data為參數(shù)名。在html文件中就需要使用jinjia2模板里的數(shù)據(jù)控制語法:
{% python語句 %}
{{ 變量 }}

上述案例代碼修改一下,來測試一下數(shù)據(jù)傳輸效果:

from flask import  Flask,render_template
app=Flask(__name__)

@app.route('/')
def index():
    msg="my name is cr!"
    return render_template("index.html",data=msg)  #加入變量傳遞

if __name__=="__main__":
    app.run(port=2023,host="127.0.0.1",debug=True)
image.png

--參考
https://zhuanlan.zhihu.com/p/104273184

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容