Python requests用法和django后台处理详解

 更新时间:2022年03月19日 09:00:07   作者:张志强  
这篇文章主要给大家介绍了关于Python中requests用法和django后台处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1、requests 的常见用法

requests 除了 url 之外,还有 params, data 和 files 三个参数,用于和服务器后台交互。

1.1、提交查询

注意 get 只支持 params ,不支持 data 和 files。

requests.get(login_url, params={
    "user": user, 
    "password": password, 
})

1.2、提交表格

注意,requests.post既支持data,也支持params:

requests.post(form_submit_url, data={
    "user": user, 
    "password": password, 
},  params={
    "pool": pool, 
})

1.3、在提交时附加文件:

files = ["a.csv", "b.xml"]

# 注意file需要以binary形式打开。
files = [("files", (os.path.basename(file), open(file, "rb")))
         for file in files]

r = requests.post(url, files=files, data=data, params=params)

1.4、保持状态

使用 session 保持状态,先登录,再提交表格:

session = requests.Session()
session.get(login_url, params)
session.post(form_submit_url, data)

1.5、查看结果

最重要的是status_code、reason和content三个成员变量:

r = requests.post(url, files=files, data=data, params=params)

if r.status_code != 200:
    print(r.status_code, r.reason) # 打印出错信息。
else:
    print(r.content)  # 服务器返回结果

2、django 的处理

2.1、params 传入的参数

对于 requests 通过 params 传入的参数,可以通过request.GET获取:

def handler(request):
    return request.GET["pool"]       # 若未传入参数,将抛出异常
    # return request.GET.get("pool") # 当没有传入该参数时,返回None
    # return request.GET.get("pool", "abc") # 默认为abc    

2.2、data 传入的参数

对于 requests 通过 data 传入的参数,可以通过request.POST获取:

def handler(request):
    return request.POST["user"]       # 若未传入参数,将抛出异常
    # return request.POST.get("user") # 当没有传入该参数时,返回None
    # return request.POST.get("user", "abc") # 默认为abc   

2.3、files 传入的参数

对于 requests 通过 files 传入的参数,可以通过request.FILES获取:

def handler(request):
    for file in request.FILES.getlist("files"):
        name = file.name
        content = file.file.read()      # is binary
        open(name, "wb").write(content) # 保存到本地

总结

到此这篇关于Python requests用法和django后台处理的文章就介绍到这了,更多相关requests用法和django后台处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python属于解释语言吗

    python属于解释语言吗

    在本篇文章里小编给大家分享了关于python关于是否为解释语言的知识点,有兴趣的朋友们可以学习下。
    2020-06-06
  • python模拟投掷色子并数据可视化统计图

    python模拟投掷色子并数据可视化统计图

    这篇文章主要介绍了python模拟投掷色子并数据可视化统计图,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Python入门教程(三十三)Python的字符串格式化

    Python入门教程(三十三)Python的字符串格式化

    这篇文章主要介绍了Python入门教程(三十三)Python的字符串格式化,为了确保字符串按预期显示,我们可以使用 format()方法对结果进行格式化,需要的朋友可以参考下
    2023-05-05
  • python实现从本地摄像头和网络摄像头截取图片功能

    python实现从本地摄像头和网络摄像头截取图片功能

    这篇文章主要介绍了python实现从本地摄像头和网络摄像头截取图片功能 ,文中给大家提到了python , opencv 打开网络摄像头读取图像的实现代码,需要的朋友可以参考下
    2019-07-07
  • Python使用pyecharts控件绘制图表

    Python使用pyecharts控件绘制图表

    这篇文章介绍了Python使用pyecharts控件绘制图表的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Python单链表的简单实现方法

    Python单链表的简单实现方法

    这篇文章主要介绍了Python单链表的简单实现方法,包括定义所需的字段及具体实现代码的分析,需要的朋友可以参考下
    2014-09-09
  • python线程池threadpool实现篇

    python线程池threadpool实现篇

    这篇文章主要为大家详细介绍了python线程池threadpool的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python playwright学习之自动录制生成脚本

    Python playwright学习之自动录制生成脚本

    playwright 可以支持自动录制生成脚本,也就是说只需要在页面上点点点,就可以自动生成对应的脚本了。本文就来和大家详细聊聊实现方法吧
    2023-02-02
  • 教你用python提取txt文件中的特定信息并写入Excel

    教你用python提取txt文件中的特定信息并写入Excel

    这篇文章主要给大家介绍了如何利用python提取txt文件中的特定信息并写入Excel的相关资料,Python是一个强大的语言,解决这点问题非常简单,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • Python框架Flask的基本数据库操作方法分析

    Python框架Flask的基本数据库操作方法分析

    这篇文章主要介绍了Python框架Flask的基本数据库操作方法,结合实例形式分析了Flask框架数据库操作常用函数功能、用法及相关注意事项,需要的朋友可以参考下
    2018-07-07

最新评论