成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

developerworks / 1072人閱讀

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

--引言請(qǐng)見我的簡書https://www.jianshu.com/p/e27...

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


點(diǎn)擊Create,創(chuàng)建好之后,PyCharm自動(dòng)在項(xiàng)目的文件夾下建立了statictemplates文件夾和HarpQA.py,此外還有一個(gè)venv文件夾,是虛擬環(huán)境用的,我們可以暫時(shí)不用管它。(如果你的PyCharm是社區(qū)版的,那么無法像專業(yè)版那樣建立Flask項(xiàng)目,對(duì)應(yīng)的文件夾需要自己手動(dòng)建立)。HarpQA.py中的代碼如下:

from flask import Flask

app = Flask(__name__)


@app.route("/")

def hello_world(): 

    return "Hello World!"
    

if __name__ == "__main__":

    app.run()

首先從flask導(dǎo)入Flask,(我并沒有pip install flask,為何能導(dǎo)入呢?我理解是建立flask項(xiàng)目的時(shí)候PyCharm自動(dòng)幫我們做了這個(gè)事情),然后初始化一個(gè)Flask對(duì)象app,參數(shù)是__name__,__name__代表的是本身這個(gè)模塊的名字,我們暫時(shí)不用理解為何要傳入這個(gè)參數(shù)。接下來是一個(gè)hello world函數(shù),并且有一個(gè)裝飾器@app.route("/"),意思是說,當(dāng)接收到"/"這個(gè)網(wǎng)址的請(qǐng)求時(shí),執(zhí)行hello world這個(gè)函數(shù),即返回字符串"Hello World!"add_url_rule()也可以實(shí)現(xiàn)和@app.route一樣的功能 ,但使用裝飾器應(yīng)該更pythonic吧),最后使用app.run()運(yùn)行。運(yùn)行腳本后,提示Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
我們在瀏覽器中輸入http://127.0.0.1:5000/,就可以在網(wǎng)頁中看到"Hello World!"了。


我們還可以使用debug模式來運(yùn)行flask的服務(wù)端,開啟debug模式后,修改代碼不需要關(guān)閉程序,可以實(shí)時(shí)生效。有多種方法來開啟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種方法,新建一個(gè)獨(dú)立的文件來保存各種參數(shù),以后項(xiàng)目增大的時(shí)候參數(shù)增多,便于管理。同樣在項(xiàng)目文件夾下新建config.py文件,添加DEBUG = True,DEBUG需大寫。在HarpQA.pyimport config并添加app.config.from_object(config),再次運(yùn)行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模式檢測到了代碼的變化并自動(dòng)重載了,這時(shí)候刷新網(wǎng)頁,結(jié)果也變成了只顯示"Hello"。


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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/41222.html

相關(guān)文章

  • flask入門1

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

    Freelander 評(píng)論0 收藏0
  • Flask二之快速入門

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

    XGBCCC 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<