最近幫朋友做了點(diǎn)東西,最后需要將結(jié)果在網(wǎng)頁(yè)中展示,這就需要搭建個(gè)服務(wù)器,做幾個(gè)網(wǎng)頁(yè)把數(shù)據(jù)信息展示出來。網(wǎng)上找了一下,阿里騰訊都有租服務(wù)器的業(yè)務(wù),但是有的時(shí)候我們并不需要那么復(fù)雜大型的服務(wù)器,只是一個(gè)小功能,小展示,并不復(fù)雜,那么我們完全可以自己動(dòng)手,在自己的小電腦上搭建一個(gè)服務(wù)器。下面文章記錄一下自己折騰的過程。
Flask安裝
Ubuntu自帶python2,因此不用麻煩裝python了。Flask是pyhton下的一個(gè)很實(shí)用的web框架,接下來安裝Flask就好,網(wǎng)上找了一圈,大部分都說要先裝virtualenv,還要配置環(huán)境巴拉巴拉,其實(shí)并不用這么麻煩,virtualenv確實(shí)有一些優(yōu)點(diǎn),比如隔離環(huán)境啥的,不過如果我們就是在自己機(jī)器上使用,沒有過多需求要切換各種環(huán)境啥的,可以直接安裝Flask使用,感興趣的小伙伴也可以自己查virtualenv的功能和使用。真正安裝Flask只需一句話,在命令行中輸入已下代碼即可:
sudo pip install flask
當(dāng)然如果你沒安裝pip的話就得先安裝pip了,這里不再概述,網(wǎng)上都有講怎么安裝pip。
Flask的使用
ok,裝好flask之后就可以馬上試一試了,當(dāng)然最開始我們都是用helloword的例子來開始,可以這么認(rèn)為,flask的框架是有一定模板的,那么我們只需要記住幾個(gè)基本模板,等需要具體操作的時(shí)候再根據(jù)具體情況進(jìn)行相應(yīng)修改就可以了。下面是helloword的模板,也是最基本的一種用法。
新建一個(gè)python文件,輸入下面的代碼:
from flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): return "hello world" if __name__ == "__main__": app.run(host='0.0.0.0',port =8080)
寫完之后,在文件夾下運(yùn)行該python文件,此時(shí)啟動(dòng)服務(wù),然后在瀏覽器中輸入localhost:8080即可訪問,此時(shí)返回我們之前定義的helloword,如下圖所示:
完這些,我們又有了新的需求,如果我在瀏覽器上面不僅僅要輸入localhost:8080,我還想輸入或者傳入其他的參數(shù),比如一個(gè)id或者一個(gè)字符,很多時(shí)候我們都是根據(jù)請(qǐng)求的這一串url中根據(jù)傳入的參數(shù)去進(jìn)行數(shù)據(jù)的篩選等操作。接下來我們只需要對(duì)傳入的url進(jìn)行處理即可,使用下面代碼即可:
from flask import Flaskfrom flask import requestapp = Flask(__name__)@app.route("/info",methods=['GET',])def sendinfo(): #獲取到傳入url中參數(shù)id對(duì)應(yīng)的值 sendid = request.args.get('id') return "Get info id is " + str(sendid) if __name__ == "__main__": app.run(host='0.0.0.0',port =8080)
改完代碼之后重新啟動(dòng),然后在瀏覽器中輸入"http://localhost:8080/info?id=666",即可顯示效果,如下圖所示:
可以看到這個(gè)時(shí)候界面把我們?cè)趗rl中傳入的參數(shù)顯示出來了。
接下來我們又會(huì)有想法了,能不能顯示html文件?當(dāng)然可以!這個(gè)時(shí)候我們要在原來的放置python腳本的文件夾下新建一個(gè)templates文件夾,所有你想調(diào)用的html文件都放在這個(gè)文件夾里面。下面簡(jiǎn)單實(shí)現(xiàn)一個(gè)html文件,當(dāng)然小伙伴們也可以自己去網(wǎng)上下載一些更好的html模板。
<html> <body> <h1>Hello World</h1> <p>This is a Test for Flask</p> </body> </html>
這個(gè)時(shí)候,我們的文件夾結(jié)構(gòu)如下圖所示:
|
新聞熱點(diǎn)
疑難解答
圖片精選