成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

1.第一個Flask程序、DEBUG模式及URL傳參

developerworks / 984人閱讀

摘要:中的代碼如下首先從導入,我并沒有,為何能導入呢我理解是建立項目的時候自動幫我們做了這個事情,然后初始化一個對象,參數(shù)是,代表的是本身這個模塊的名字,我們暫時不用理解為何要傳入這個參數(shù)。

--引言請見我的簡書https://www.jianshu.com/p/e27...

我們打開PyCharm,新建一個Project,在左側(cè)選擇Flask,右側(cè)Location可選擇項目存放的位置,Project Interpreter選擇使用的編譯器,我們當然可以選擇已經(jīng)安裝在電腦上的Python 3.6,但我建議選擇使用Virtualenv來建立一個虛擬的環(huán)境,這樣在虛擬環(huán)境里安裝包之類的,不會影響電腦上本身已經(jīng)裝的,并且后續(xù)如果項目較多的話也便于區(qū)分和管理。


點擊Create,創(chuàng)建好之后,PyCharm自動在項目的文件夾下建立了static、templates文件夾和HarpQA.py,此外還有一個venv文件夾,是虛擬環(huán)境用的,我們可以暫時不用管它。(如果你的PyCharm是社區(qū)版的,那么無法像專業(yè)版那樣建立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,參數(shù)是__name__,__name__代表的是本身這個模塊的名字,我們暫時不用理解為何要傳入這個參數(shù)。接下來是一個hello world函數(shù),并且有一個裝飾器@app.route("/"),意思是說,當接收到"/"這個網(wǎng)址的請求時,執(zhí)行hello world這個函數(shù),即返回字符串"Hello World!"add_url_rule()也可以實現(xiàn)和@app.route一樣的功能 ,但使用裝飾器應該更pythonic吧),最后使用app.run()運行。運行腳本后,提示Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
我們在瀏覽器中輸入http://127.0.0.1:5000/,就可以在網(wǎng)頁中看到"Hello World!"了。


我們還可以使用debug模式來運行flask的服務端,開啟debug模式后,修改代碼不需要關(guān)閉程序,可以實時生效。有多種方法來開啟debug模式:

app.run()中添加參數(shù),變?yōu)?b>app.run(debug=True);

run之前增加app.debug = True;

新建config文件,在config文件中添加DEBUG = True,然后在程序中引入app.config.from_object(config);

run之前增加app.config["DEBUG"] = True;

我們使用第3種方法,新建一個獨立的文件來保存各種參數(shù),以后項目增大的時候參數(shù)增多,便于管理。同樣在項目文件夾下新建config.py文件,添加DEBUG = TrueDEBUG需大寫。在HarpQA.pyimport 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模式已經(jīng)打開,我們可以直接修改代碼,例如把"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模式檢測到了代碼的變化并自動重載了,這時候刷新網(wǎng)頁,結(jié)果也變成了只顯示"Hello"。


如果我們要處理很多URL,可以一個一個去給他們寫對應的視圖函數(shù),這有時候是不切實際的,我們有更高效的做法,如以下代碼:

@app.route("//")
def hello(name):
    return "Hello %s" % name

@app.route中裝飾的地址是"//",注意name外面用了尖括號,代表name是一個參數(shù),例如我們請求http://127.0.0.1:5000/Harp/這個網(wǎng)址,其中的name就是Harp,這個參數(shù)會傳遞給視圖函數(shù)hello,最終會返回"Hello Harp"。我們可以給將寫成,表示傳入的參數(shù)是字符串類型的,其他的類型還有int,float,path,幾種類型的區(qū)別可以在網(wǎng)上搜索對比一下,例如path可以將參數(shù)里的"/"也傳遞過來。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41222.html

相關(guān)文章

  • flask入門1

    摘要:每天的內(nèi)容跑起來模板引擎表單文件上傳郵件發(fā)送一框架的簡介模型負責數(shù)據(jù)的操作視圖負責數(shù)據(jù)的展示控制器控制你的的操作以及視圖模板的渲染在中叫做模型負責數(shù)據(jù)的操作控制你的的操作以及視圖模板的渲染業(yè)務邏輯的操作模板負責數(shù)據(jù)的展示二架構(gòu)三概念是 flask 每天的內(nèi)容 flask跑起來 模板引擎 flask表單 文件上傳郵件發(fā)送 flask-sqlalchemy 一、web框架的簡介 M ...

    Freelander 評論0 收藏0
  • Flask二之快速入門

    摘要:一一個最小的應用是程序?qū)嵗粋€項目只能有一個程序?qū)嵗酚裳b飾器視圖函數(shù)返回一個字符串把程序保存為用解釋器運行訪問,會看見問候。路由裝飾器這個函數(shù)的返回值稱為響應,是客戶端接收到的內(nèi)容。 一.一個最小的Flask應用 from flask import Flask app = Flask(__name__) #app是程序?qū)嵗?,一個項目只能有一個程序?qū)嵗[email protected](/) #...

    XGBCCC 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<