Django请求第三方api接口

文章目录

  • 前言
    • 1.创建view视图
    • 2.然后编写url用来前后端交互数据
    • 3.可能出现的bug


前言

我们经常在前端写一些ajax请求但是一直出现跨域的问题,所以我们就把目标放到了后端,可是发现根本不知道怎么去使用第三方接口


提示:以下是本篇文章正文内容,我们就用名人名言的api作为案例

1.创建view视图

这一步是为了在后端将数据请求到,我们直接上代码

# 名人名言接口
def famous(request):url = 'https://v1.alapi.cn/api/mingyan'  #api链接'''我用的这个接口没有什么apikey或者参数如果有的话直接写上参数,类似于这样apikey = 'chgaxvsf88f3858a15fa4426f4cbdd4d2a02b92ee0747f3'area = "人生"areaID = "45"data = {"apiKey":apikey,"area":area,"areaID":areaID,}将数据封装成人家接口定义的格式,请求数据改成以下样子wb_data = requests.get(url,apikey,data)'''wb_data = requests.get(url)  #引入requests库来请求数据result = wb_data.json()   #将请求的数据转换为json格式return JsonResponse(json.dumps(result), safe=False)   #用json响应出去,顺便格式化数据

2.然后编写url用来前后端交互数据

url:

    path('famous/', views.famous, name='famous')

然后在你需要用到的页面,用ajax请求数据(我这里是jq)

 $.ajax({url:"{% url 'famous' %} ",type:"get",contentType: "application/json;charset=UTF-8",dataType:"json",success:function (data) {let famous_data = jQuery.parseJSON(data);$(".one-poem").html(famous_data.data.content)}

下面就是响应到的数据
在这里插入图片描述

3.可能出现的bug

在这里插入图片描述
此错误的意思是响应的对象不可序列化
所以我们一定要先把响应结果转为json,再去格式化响应内容,也就是
先转换为json格式
在这里插入图片描述
然后再格式化数据,
在这里插入图片描述
最后才发送出去数据
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部