日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
python上怎么啟動(dòng)web服務(wù)

這篇文章主要介紹“python上怎么啟動(dòng)web服務(wù)”,在日常操作中,相信很多人在python上怎么啟動(dòng)web服務(wù)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python上怎么啟動(dòng)web服務(wù)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

目前成都創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、武鄉(xiāng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

啟動(dòng)web服務(wù)

導(dǎo)入flask中的Flask模塊后使用Flask初始化web服務(wù)對(duì)象app = Flask(__name__)

這個(gè)app就是web服務(wù)的對(duì)象,接下來(lái)只要調(diào)用app.run()方法就可以啟動(dòng)web服務(wù)器了,就是這么簡(jiǎn)單

啟動(dòng)log如下

/home/yukiti2007/anaconda3/envs/tf2/bin/python /home/yukiti2007/IdeaProjects/sample/python/flask/router.py
 * Serving Flask app "router" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

可以看出flask默認(rèn)是在5000端口啟動(dòng)web服務(wù)的

從log中的警告可以看出,這種啟動(dòng)方式只是在開(kāi)發(fā)階段使用,不推薦在生產(chǎn)環(huán)境中使用

如果是生產(chǎn)環(huán)境,建議使用WSGI server啟動(dòng)服務(wù)


app.run()方法有5個(gè)參數(shù)

參數(shù)名意義默認(rèn)值
host監(jiān)聽(tīng)的主機(jī)ip地址127.0.0.1(localhost)
portweb服務(wù)啟動(dòng)端口5000
debug是否以debug模式啟動(dòng)None
load_dotenv是否加載環(huán)境變量,默認(rèn)會(huì)加載以.env.flaskenv結(jié)尾的文件True
options其他選項(xiàng)(因?yàn)閒lask底層是通過(guò)Werkzeug實(shí)現(xiàn)的,所以這些選項(xiàng)會(huì)傳遞給Werkzeug,詳細(xì)信息需要查看werkzeug.serving.run_simple方法)-

如果不想使用5000端口啟動(dòng)服務(wù),只需要加上參數(shù)prot=8080就可以以8080端口啟動(dòng)服務(wù)了

另外,由于默認(rèn)的監(jiān)聽(tīng)ip地址是127.0.0.1,所以啟動(dòng)的服務(wù)只能本機(jī)訪問(wèn)

如果需要在其他機(jī)器上也能訪問(wèn),需要將監(jiān)聽(tīng)端口設(shè)為0.0.0.0

下面以以下參數(shù)啟動(dòng)服務(wù)app.run(host="0.0.0.0",port=8080,debug=True),啟動(dòng)log如下

/home/yukiti2007/anaconda3/envs/tf2/bin/python /home/yukiti2007/IdeaProjects/sample/python/flask/router.py
 * Serving Flask app "router" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 249-050-533

添加路由

flask添加路由有2種方式

  1. 使用裝飾器route()

  2. 使用函數(shù)add_url_rule()

下面我們使用兩種方式添加兩個(gè)路由試試

# 在方法上添加裝飾器
@app.route("/hello1")
def hello_world1():
    return "hello_world1"

# 使用函數(shù)添加
def hello_world2():
    return "hello world2"
app.add_url_rule("/hello2", view_func=hello_world2)

訪問(wèn)成功,同時(shí)也自動(dòng)打印了訪問(wèn)log

192.168.140.1 - - [08/Aug/2019 16:23:30] "GET /hello2 HTTP/1.1" 200 -
192.168.140.1 - - [08/Aug/2019 16:23:39] "GET /hello1 HTTP/1.1" 200 -

python上怎么啟動(dòng)web服務(wù)


但是這樣添加的路由只支持GET方式的請(qǐng)求,通過(guò)POST方式訪問(wèn)的話會(huì)拒絕響應(yīng)

192.168.140.1 - - [08/Aug/2019 16:33:26] "POST /hello1 HTTP/1.1" 405 -
192.168.140.1 - - [08/Aug/2019 16:33:44] "POST /hello2 HTTP/1.1" 405 -

python上怎么啟動(dòng)web服務(wù)

可以通過(guò)添加method的方式來(lái)制定響應(yīng)請(qǐng)求的Method

# 裝飾器方式
@app.route("/hello1", methods=["GET", "POST"])

# 使用函數(shù)方式
app.add_url_rule("/hello2", view_func=hello_world2, methods=["GET", "POST"])

重啟服務(wù)以后再次以POST方式嘗試訪問(wèn),響應(yīng)成功

192.168.140.1 - - [08/Aug/2019 16:40:29] "POST /hello1 HTTP/1.1" 200 -
192.168.140.1 - - [08/Aug/2019 16:40:50] "POST /hello2 HTTP/1.1" 200 -

python上怎么啟動(dòng)web服務(wù)

完整代碼已經(jīng)上傳到github

到此,關(guān)于“python上怎么啟動(dòng)web服務(wù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


新聞名稱:python上怎么啟動(dòng)web服務(wù)
本文網(wǎng)址:http://www.dlmjj.cn/article/ihdise.html