網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
一.flask安裝
二.flask簡(jiǎn)介:
flask是一個(gè)web框架,可以通過(guò)提供的裝飾器@server.route()將普通函數(shù)轉(zhuǎn)換為服務(wù)
flask是一個(gè)web框架,屬于微框架,框架很輕量,更新依賴小,依賴于werkzeug,一個(gè)wsgi工具包(web server gateway interface),為python語(yǔ)言定義的web服務(wù)器和web應(yīng)用程序或框架之間的一種簡(jiǎn)單而通用的接口
三 flash實(shí)現(xiàn)python腳本web服務(wù)化-get方法
import flask,json
from flask import request
#創(chuàng)建一個(gè)服務(wù),將當(dāng)前這個(gè)python文件作為一個(gè)服務(wù)
server = flask.Flask(__name__)
#使用裝飾器@server.route()可以將普通的函數(shù)轉(zhuǎn)換為服務(wù)登錄的路徑、請(qǐng)求方法
@server.route('/login',methods=['get','post'])
def login():
#獲取url請(qǐng)求傳遞的數(shù)據(jù)
username = request.values.get('username')
#獲取url請(qǐng)求傳遞密碼、明文
pwd = request.values.get('pwd')
#判斷用戶名、密碼都不能為空
if username and pwd:
if username=='xiaoming' and pwd =='111':
resu={'code':200,'message':'登錄成功'}
return json.dumps(resu,ensure_ascii=False) #將字典轉(zhuǎn)換為json
else:
resu = {'code':-1,'message':'賬戶密碼錯(cuò)誤'}
return json.dumps(resu,ensure_ascii=False)
else:
resu={'code': 1001, 'message': '登錄成功'}
return json.dumps( resu, ensure_ascii=False )
if __name__ == '__main__':
server.run(debug=True,port=8888,host='0.0.0.0')#指定端口、host,0.0.0.0代表不管幾個(gè)網(wǎng)卡,任何ip都可以訪問(wèn)
網(wǎng)頁(yè)調(diào)用查看結(jié)果:
1.無(wú)用戶登錄成功,code:1001
2.用戶登錄成功
3.用戶登錄失敗
四 flash實(shí)現(xiàn)python腳本web服務(wù)化-post方法
from flask import Flask, request, jsonify
import json
app = Flask(__name__)
app.debug = True
@app.route('/add/test',methods=['post'])
def add_stu():
if not request.data: #檢測(cè)是否有數(shù)據(jù)
return ('fail')
student = request.data.decode('utf-8')
#獲取到POST過(guò)來(lái)的數(shù)據(jù),因?yàn)槲疫@?傳過(guò)來(lái)的數(shù)據(jù)需要轉(zhuǎn)換?下編碼。根據(jù)晶具體情況?定
student_json = json.loads(student)
a=student_json["key"]
#調(diào)用數(shù)據(jù)處理的核心方法
res=getData(a)
student_json["key"]=res
#把區(qū)獲取到的數(shù)據(jù)轉(zhuǎn)為JSON格式。
return jsonify(student_json)
#返回JSON數(shù)據(jù)。
def getData(parameter):
response = f"hello {parameter} world"
return response
if __name__ == '__main__':
app.run(host='127.0.0.1',port=8800)
查看postman方法的調(diào)用:
原文鏈接:https://www.cnblogs.com/mrwhite2020/p/16320148.html
相關(guān)推薦
- 2022-06-07 Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解_python
- 2022-11-04 golang?cache帶索引超時(shí)緩存庫(kù)實(shí)戰(zhàn)示例_Golang
- 2022-08-23 python畫圖中文不顯示問(wèn)題的解決方法_python
- 2023-01-21 Go語(yǔ)言O(shè)RM框架構(gòu)造查詢條件示例詳解_Golang
- 2023-01-17 使用matplotlib繪制熱圖(heatmap)全過(guò)程_python
- 2022-03-19 使用Docker部署Spring?Boot項(xiàng)目的實(shí)現(xiàn)步驟_docker
- 2022-04-08 python如何去除異常值和缺失值的插值_python
- 2022-09-13 Go語(yǔ)言中的數(shù)據(jù)競(jìng)爭(zhēng)模式詳解_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支