python中Flask模块使用

百度百科:Flask是一个轻量级的web框架,它简单容易上手。Flask基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上,其工作过程见下图:

1.一个简单的例子-利用网页请求

from flask import Flask

# 创建一个Flask实例
app = Flask(__name__)

@app.route('/') #路由系统生成视图对应url, 1. decorator=app.route() 2. decorator(first_flask)
def first_flask():  # 视图函数
    return '来啦老弟'

if __name__ == '__main__':
    app.run()    # 启动socket

运行上面程序,同时在浏览器中输入127.0.0.1:5000

结果如下:

2.第二个例子-利用request请求

服务端代码:

import json
from flask import Flask,request

# 构建客户端request请求时返回给它的数据
# python类型
data = {'name':'xiaoming','age':'20','city':'beijing'}
# 编码为json类型
json_data = json.dumps(data)
#print('data类型:',type(data))  # data类型: <class 'dict'>
#print('json_data类型',type(json_data))  #json_data类型 <class 'str'>

app = Flask(__name__)  # 创建一个Flask实例
@app.route('/get')  #路由器生成视图对应url
def senddata():  # 视图函数
    # 获取url中传递的参数时,使用request.args.get()或request.args[]
    # 获取客户端传过来的status参数值
    status = request.args['status']  
    # 获取客户端传过来的data参数值
    receive_data = request.args.get('data')  
    print('receive:',receive_data)  # receive: hello my friend
    print('status的类型为',type(status))  #status的类型为 <class 'str'>
    if(status == 'ok'): #为ok时才返回给客户端data数据
        return(json_data)

if __name__ == '__main__':
    app.run(host='127.0.0.1',port=8080,debug=False) #debug=False表示关闭调试模式

客户端代码:

import requests

payload = {'status':'ok','data':'hello my friend'}
r = requests.get(url='http://127.0.0.1:8080/get',params=payload)  # 返回的json数据
# 获取json数据
#print('r.json类型',type(r.json())) # r.json类型 <class 'dict'>
print(r.json()) # {'name': 'xiaoming', 'age': '20', 'city': 'beijing'}
print(r.json()['name'])  # xiaoming
# 获取content内容
#print('r.content的类型',type(r.content)) # r.content的类型 <class 'bytes'>
print(r.content)   # b'{"name": "xiaoming", "age": "20", "city": "beijing"}'
#print(r.content[1:10])  # b'"name": "'

先运行服务端代码,再运行客户端代码,客户端结果如下:

 

参考链接:

https://blog.csdn.net/qq_41185868/article/details/79846111

https://www.cnblogs.com/jfl-xx/p/8081454.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值