摘要:中的代碼如下首先從導入,我并沒有,為何能導入呢我理解是建立項目的時候自動幫我們做了這個事情,然后初始化一個對象,參數是,代表的是本身這個模塊的名字,我們暫時不用理解為何要傳入這個參數。
--引言請見我的簡書https://www.jianshu.com/p/e27...
我們打開PyCharm,新建一個Project,在左側選擇Flask,右側Location可選擇項目存放的位置,Project Interpreter選擇使用的編譯器,我們當然可以選擇已經安裝在電腦上的Python 3.6,但我建議選擇使用Virtualenv來建立一個虛擬的環境,這樣在虛擬環境里安裝包之類的,不會影響電腦上本身已經裝的,并且后續如果項目較多的話也便于區分和管理。
點擊Create,創建好之后,PyCharm自動在項目的文件夾下建立了static、templates文件夾和HarpQA.py,此外還有一個venv文件夾,是虛擬環境用的,我們可以暫時不用管它。(如果你的PyCharm是社區版的,那么無法像專業版那樣建立Flask項目,對應的文件夾需要自己手動建立)。HarpQA.py中的代碼如下:
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "Hello World!" if __name__ == "__main__": app.run()
首先從flask導入Flask,(我并沒有pip install flask,為何能導入呢?我理解是建立flask項目的時候PyCharm自動幫我們做了這個事情),然后初始化一個Flask對象app,參數是__name__,__name__代表的是本身這個模塊的名字,我們暫時不用理解為何要傳入這個參數。接下來是一個hello world函數,并且有一個裝飾器@app.route("/"),意思是說,當接收到"/"這個網址的請求時,執行hello world這個函數,即返回字符串"Hello World!"(add_url_rule()也可以實現和@app.route一樣的功能 ,但使用裝飾器應該更pythonic吧),最后使用app.run()運行。運行腳本后,提示Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
我們在瀏覽器中輸入http://127.0.0.1:5000/,就可以在網頁中看到"Hello World!"了。
我們還可以使用debug模式來運行flask的服務端,開啟debug模式后,修改代碼不需要關閉程序,可以實時生效。有多種方法來開啟debug模式:
在app.run()中添加參數,變為app.run(debug=True);
在run之前增加app.debug = True;
新建config文件,在config文件中添加DEBUG = True,然后在程序中引入app.config.from_object(config);
在run之前增加app.config["DEBUG"] = True;
我們使用第3種方法,新建一個獨立的文件來保存各種參數,以后項目增大的時候參數增多,便于管理。同樣在項目文件夾下新建config.py文件,添加DEBUG = True,DEBUG需大寫。在HarpQA.py中import config并添加app.config.from_object(config),再次運行HarpQA.py,提示:
* Restarting with stat * Debugger is active! * Debugger PIN: 229-291-890 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
說明Debug模式已經打開,我們可以直接修改代碼,例如把"Hello World!"
修改成"Hello"并保存,顯示:
* Detected change in "D:FlaskHarpQAHarpQA.py", reloading * Restarting with stat * Debugger is active! * Debugger PIN: 229-291-890 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
說明DEBUG模式檢測到了代碼的變化并自動重載了,這時候刷新網頁,結果也變成了只顯示"Hello"。
如果我們要處理很多URL,可以一個一個去給他們寫對應的視圖函數,這有時候是不切實際的,我們有更高效的做法,如以下代碼:
@app.route("//") def hello(name): return "Hello %s" % name
@app.route中裝飾的地址是"/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41222.html
摘要:每天的內容跑起來模板引擎表單文件上傳郵件發送一框架的簡介模型負責數據的操作視圖負責數據的展示控制器控制你的的操作以及視圖模板的渲染在中叫做模型負責數據的操作控制你的的操作以及視圖模板的渲染業務邏輯的操作模板負責數據的展示二架構三概念是 flask 每天的內容 flask跑起來 模板引擎 flask表單 文件上傳郵件發送 flask-sqlalchemy 一、web框架的簡介 M ...
摘要:一一個最小的應用是程序實例,一個項目只能有一個程序實例路由裝飾器視圖函數返回一個字符串把程序保存為用解釋器運行訪問,會看見問候。路由裝飾器這個函數的返回值稱為響應,是客戶端接收到的內容。 一.一個最小的Flask應用 from flask import Flask app = Flask(__name__) #app是程序實例,一個項目只能有一個程序實例 @app.route(/) #...
閱讀 3289·2023-04-26 02:40
閱讀 4639·2021-09-22 15:22
閱讀 1573·2021-09-22 10:02
閱讀 3475·2021-08-11 10:23
閱讀 1388·2019-08-30 15:55
閱讀 2487·2019-08-30 12:48
閱讀 584·2019-08-30 11:04
閱讀 697·2019-08-29 16:29