Python Django 使用requests库请求相关接口

1.安装requests库,cmd下执行

pip install requests

2.创建一个Demo项目

创建过程可以参考Django安装_grfstc的博客-CSDN博客

3.在本地搭建json-server本地模拟后端数据

搭建过程可以参考react前端调试时使用json-server本地模拟后端数据_grfstc的博客-CSDN博客

 的1~3步骤,cmd进入db.json目录下启动服务

json-server --watch db.json --port 3004

4. 修改urls.py文件,添加路由

from django.urls import path
from App import views

urlpatterns = [
    path('user/post/', views.post_test, name='post'),
    path('user/get/', views.get_test, name='get'),
]

5. 修改应用下的视图文件views.py

#coding:utf-8
import requests
import json
from json import dumps
from django.http import JsonResponse
from django.shortcuts import render


def post_test(request):
    header = {
        "Content-Type": "application/json"
    }
    url = 'http://localhost:3004/records'  # api链接
    data = {"date": "2022-05-05", "title": "收入", 'amount': 315}
    response = requests.post(url=url, data=dumps(data), headers=header)
    response.encoding = response.apparent_encoding
    return JsonResponse(response.json(), safe=False)      # .json()以字典格式显示


def get_test(request):
    url = 'http://localhost:3004/records'  # api链接
    params = {"id": 6, }
    wb_data = requests.get(url=url, params=params)  # 引入requests库来请求数据
    wb_data.encoding = "utf-8"
    return JsonResponse(wb_data.json(), safe=False)

注意requests.post()中data这个参数,必须要用dumps(data)转换一下,不然会报错,response状态码为"GET /user/post/ HTTP/1.1" 500 104404

 6.运行Django服务,查看效果

http://127.0.0.1:8000/user/post/

且db.json增加一条数据

 http://127.0.0.1:8000/user/get/

能获取id为6的数据 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值