admin 管理员组

文章数量: 1087934

【教程】Python Flask快速学习

  • 备注
  • 一、概念
  • 二、核心结构
  • 三、请求处理
    • 1.get请求
    • 2.post请求
  • 四、示例

备注

2021/3/28 星期日
简单学习了一下python web开发,使用flask框架记录一下

一、概念

flask框架是一个很简单的python web框架,类似的框架还有django和fastapi,flask的优势是简单易上手,方便进行一些不太复杂场景的开发。

二、核心结构

flask只需要最简单的几行代码就可以运行一个web程序,这也是flask的核心结构,后续更加复杂的开发都是建立在这个结构基础上的

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'hello world'


def main():
    app.run()


if __name__ == '__main__':
    main()

三、请求处理

常见的请求有GET和POST两种,

1.get请求

get请求获取参数数据方式很简单,有两种方式:

data = request.args.get('key')
data = request.values.get('key')

2.post请求

post请求不同的Content-Type需要不同的方式处理
application/json:

# 数据为json格式,获取json格式数据有两种方式
data = request.json.get('key')
data = request.get_json()['key']

application/x-www-form-urlencoded:

# 数据为键值对格式,获取值的方式
data = request.values.get('key')

multipart/form-data:

# 数据为键值对格式,获取值的方式有两种
data = request.form.get('key')
data = request.form['key']

所有Content-Type格式:

# 可以获取bytes类型的最原始数据
data = request.get_data()

四、示例

@app.route('/', methods=['GET', 'POST'])
def home():
    if request.method == 'GET':
    	# 相同效果二选一
        data = request.args.get('key')
        data = request.values.get('key')
    if request.method == 'POST':
        if request.content_type == 'application/json':
            # 相同效果二选一
            data = request.json.get('key')
            data = request.get_json()['key']
        elif request.content_type == 'application/x-www-form-urlencoded':
            data= request.values.get('key')
        elif request.content_type == 'multipart/form-data':
        	 # 相同效果二选一
            data = request.form.get('key')
            data = request.form['key']
		else:
			data = request.get_data()
	return data

本文标签: 快速 教程 python flask