HTTP请求方式

  • List item

请求数据及其获取

1.固定参数:
固定参数是指在URL中固定的, 是不可获取的一部分。例如:
IP地址/users/1

# 语法形式
@app.route('/users/<user_id>')
def user_info(user_id):
	print(user_id)

2.查询参数获取
查询参数在URL中以?与主路由进行分隔, 查询参数是以键值对形式出现的, 键与值使用"="连接。
例如:
IP地址/user/?userid=333

@app.route('/')
def user_info():
    # 通过['key']形式获取查询参数的user_id
    user_id = request.args['userid']

3.表单数据获取
form表单数据, 一般应用与登录, 注册, 信息提交等. 配合前端的form表单使用, 一般form表单都是post请求, 注意路由中指定POST请求方法, 将表单数据封装在请求体中.

@app.route('/', method=['POST'])
def login():
    # 获取form表单中的用户名
    username = request.form.get('uname')

4.文件上传

@app.route('/upload', methods=['POST'])
def upload_file():
    # 获取前端传递过来的文件对象
    f = request.files.get('file_name')
    # 获取图片名
    print(f.filename)
    # 获取上传文件的key
	print(f.name)
    # 保存文件对象
    f.save('C:/Users/lisi6/Desktop/P7后端/code/static/%s'%f.filename)

5.其他请求参数

@app.route('/upload', methods=['POST'])
def upload_file():
    # 获取请求头
    print(request.headers)
    # 获取指定的请求头
    print(request.headers['Accept-Language'])
    # 获取请求方法
    print(request.method)

响应

1.字符串响应形式
直接使用return关键字返回一个字符串: return ‘hello flask’

2.模板响应形式
建立templates文件夹
在template中建立要返回的HTML页面
视图中使用render_template(‘HTML文件名’)返回模板

from flask import render_template

return render_template('index.html')

3.重定向响应形式
重定向是跳转至一个新的路由, 使用redirect

from flask import redirect,url_for

return redirect('/index')
# url_for根据给定的endpoint值找到对应的url
return redirect(url_for('idx'))
# 直接跳转至百度首页
return redirect('http://www.baidu.com')

4.json数据响应
返回json数据需要借助flask提供的jsonify来实现

from flask import jsonify

uname = request.form.get('name')
# 使用jsonify返回json格式
return jsonify(msg="ok",code=200,data={"name":uname})

5.元组数据响应
返回元祖时,第一个参数是要返回的内容,第二个参数是状态码,会覆盖正常的http请求的状态码,第三个参数是headers({‘author’: ‘jeremy’}字典是设置在响应头中的键值对信息)

data = {"name":uname}
return (data,333,{'author': 'jeremy'})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值