栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Flask request 属性详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flask request 属性详解

1、从Flask模块导入request

from flask import request

2、定义服务请求方法

@app.route("/req",methods=["POST"]) 

3、Flask request 属性

request.method  返回请求方法

request.args 是获取url中的参数,主要是GET请求,请求参数在url中

request.args.get('a')  获取url中参数a的值

request.form 是获取form表单中的参数

request.form.get('username')获取表单参数中key为username的值

request.cookies 获取cookies信息

request.headres 获取请求头信息

request.data  如果处理不了的数据就变成字符串儿存在data里面

request.files  获取上传或下载的文件信息

request.path 获取请求文件路径:/myapplication/page.html

request.base_url 获取域名与请求文件路径:http://www.baidu.com/myapplication/page.html

request.url 获取全部url:http://www.baidu.com/myapplication/page.html?id=1&edit=edit

request.url_root  获取域名:http://www.baidu.com/

4、示例

@app.route(‘/login‘, methods = [‘GET‘,‘POST‘])
def login():
    if request.method == ‘POST‘:
        if request.form[‘username‘] == request.form[‘password‘]:
            return ‘TRUE‘
        else:
            return str(request.headers)        #需要替换的部分
    else:
        return render_template(‘login.html‘)

1、method:请求的方法

return request.method   # 返回内容:POST

2、form:返回form的内容

return json.dumps(request.form)        # 返回内容 {"username": "123", "password": "1234"}

3、args和values:args返回请求中的参数,values返回请求中的参数和form

return json.dumps(request.args)  
# 返回内容  url:http://192.168.1.183:5000/login?a=1&b=2、返回值:{"a": "1", "b": "2"}

4、print(request.args[‘a‘])  #输出:1

5、return str(request.values)        
#CombinedMultiDict([ImmutableMultiDict([(‘a‘, ‘1‘), (‘b‘, ‘2‘)]), ImmutableMultiDict([(‘username‘, ‘123‘), (‘password‘, ‘1234‘)])])

6、headers信息

return str(request.headers)        #headers信息
request.headers.get(‘User-Agent‘)        #获取User-Agent信息

7、url、path、script_root、base_url、url_root:看结果比较直观

return ‘url: %s , script_root: %s , path: %s , base_url: %s , url_root : %s‘ % (request.url,request.script_root, request.path,request.base_url,request.url_root)
‘‘‘
url: http://192.168.1.183:5000/testrequest?a&b , 
script_root: , 
path: /testrequest , 
base_url: http://192.168.1.183:5000/testrequest , 
url_root : http://192.168.1.183:5000/
‘‘‘
8、date、files:date是请求的数据,files随请求上传的文件

@app.route(‘/upload‘,methods=[‘GET‘,‘POST‘])
def upload():
    if request.method == ‘POST‘:
        f = request.files[‘file‘]
        filename = secure_filename(f.filename)
        #f.save(os.path.join(‘app/static‘,filename))
        f.save(‘app/static/‘+str(filename))
        return ‘ok‘
    else:
        return render_template(‘upload.html‘)
 
#html


    
        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958320.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号