Flask请求数据获取与响应

固定参数与转换器

创建文件夹,里创建py文件
在里面编写

from flask import Flask
app=Flask(__name__)
@app.route('/hello/<int:id>/<string:name>')
def hello(id,name):
    return f'接收到的id是{id}字符串是{name}'
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述
转换器形式
外加正则匹配,其中不能出现^$这两个符号

from flask import Flask
app=Flask(__name__)
#1.导入转换器的基类
from werkzeug.routing import BaseConverter
# 2.封装转换器基类并实现regex方法
class PhoneConeverter(BaseConverter):
    regex=r'1[3-9][0-9]{9}'

#3.把自定义的转换器挂载到flask对象上面
app.url_map.converters['phone']=PhoneConeverter

#4.使用自定义的转换器
@app.route('/phone/<phone:my_phone>')
def get_phone(my_phone):
    return f'当前手机号是{my_phone}'
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

查询参数获取

args: 查询参数
(1).查询参数

from flask import Flask
app=Flask(__name__)
## 查询参数的获取
from flask import request
###http://127.0.0.1:5000/query/?name=ss&age=223
@app.route('/query/')
def query():
    #获取所有参数,并转换为dict类型
    params=request.args.to_dict() #把不可变类型转换为普通的dict类型
    print(params)
    name=request.args.get('name')    #获取某一个参数
    age=request.args.get('age')
    return f'当前名字是{name},年龄是{age}'
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

表单获取参数

from flask import Flask
app=Flask(__name__)
### 表单获取参数
from flask import request
@app.route('/form',methods=['post'])
def form():
    name=request.form.get('name')
    age=request.form.get('age')
    return f'名字是{name},年龄是{age}'
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

上传文件

from flask import Flask
app=Flask(__name__)
#上传文件
from flask import request
@app.route('/upload',methods=['post'])
def upload():
    img=request.files.get('img')
    print(img)
    #如果不加文件夹默认上传到项目根目录 自定义上传的文件名
    img.save('./static/01.png')
    return '上传文件'
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

模板响应

from flask import Flask
app=Flask(__name__)
#模板响应形式
from flask import render_template
@app.route('/page')
def index():
    return render_template('hello.html')
if __name__ == '__main__':
  	app.run()

在项目内创建文件夹来存放html文件
在这里插入图片描述
返回响应
在这里插入图片描述

重定向响应形式

from flask import Flask
app=Flask(__name__)
#重定向响应形式
from flask import redirect
@app.route('/jump')
def jump():
    return redirect('https://baidu.com/')
if __name__ == '__main__':
  	app.run()

直接跳转到输入的页面
在这里插入图片描述

json数据响应

from flask import Flask
app=Flask(__name__)
#json数据响应
from flask import jsonify
@app.route('/return_json')
def return_json():
    data={
        'nsme':'zhangsan',
        'age':18,
        'action':'aaaa'
    }
    return jsonify(data)
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

元祖数据响应

from flask import Flask
app=Flask(__name__)
#元组数据响应
@app.route('/return_json')
def return_json():
    #元祖返回三个数据 页面内容 状态码 headers头
    return ('hello',400,{
        'aaa':'bbb'
    })
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

make_response()自定义响应

from flask import Flask
app=Flask(__name__)
sponse()自定义响应
from flask import make_response
@app.route('/return_obj')
def return_obj():
    # 响应字符串
    resp=make_response('hello')
    # 响应头键值对
    resp.status='404'
    # 状态码与状态码提示信息
    resp.headers['aaa']='bbb'
    # 注意: 响应头键值对与状态码提示信息均为英文, 否则抛异常
    return resp
if __name__ == '__main__':
  	app.run()

返回响应
在这里插入图片描述

前端post添加后端模型类数据

要从flask导入json
模型类添加

class GoodView(Resource):
    def post(self):
        data=request.get_data()
        data=json.loads(data)
        name=data['name']
        print('sssssssssssssssssss',name)
        c1=Classify(name=name)
        db.session.add(c1)
        db.session.commit()
        return jsonify({'code':200,'msg':'添加成功'})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值