我试图通过ajax调用来调用django视图,而django视图调用了第三方API,并将第三方API给出的响应返回给ajax调用。但是在收到响应后,我遇到了以下错误
File "/home/sachinmukherjee/Coading/Developement/MovieRecommender/recommender/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/sachinmukherjee/Coading/Developement/MovieRecommender/recommender/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/sachinmukherjee/Coading/Developement/MovieRecommender/recommender/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/sachinmukherjee/Coading/Developement/MovieRecommender/recommender/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "apps/apirequest/views.py", line 20, in trendingenglish
return JsonResponse(serializers.serialize('json', data), safe=False)
File "/home/sachinmukherjee/Coading/Developement/MovieRecommender/recommender/lib/python3.5/site-packages/django/core/serializers/__init__.py", line 128, in serialize
s.serialize(queryset, **options)
File "/home/sachinmukherjee/Coading/Developement/MovieRecommender/recommender/lib/python3.5/site-packages/django/core/serializers/base.py", line 94, in serialize
concrete_model = obj._meta.concrete_model
AttributeError: 'int' object has no attribute '_meta'
这是 view.py 文件
中用于view功能的代码from django.shortcuts import render, redirect
from django.http import HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.conf import settings
import http.client
from django.core import serializers
# Create your views here.
URL = settings.TMDB_URL
API_KEY = settings.TMDB_API_KEY
@csrf_exempt
def trendingenglish(request):
request_url = URL + "trending/all/day?api_key=" + API_KEY
conn = http.client.HTTPSConnection("api.themoviedb.org")
payload = "{}"
conn.request("GET", request_url, payload)
res = conn.getresponse()
data = res.read()
return JsonResponse(serializers.serialize('json', data), safe=False)
来自第三方API的json响应如下
b'{"page":1,"results":[{"adult":false,"backdrop_path":"/cjRUhKyt2Jo3V1KNzc5tpPNfccG.jpg","genre_ids":[878,28],"id":320288,"original_language":"en","original_title":"Dark Phoenix","overview":"The X-Men face their most formidable and powerfull.","poster_path":"/kZv92eTc0Gg3mKxqjjDAM73z9cy.jpg","release_date":"2019-06-05","title":"Dark Phoenix","video":false,"vote_average":6.2,"vote_count":1302,"popularity":40.729},
{"adult":false,"backdrop_path":"/vVpEOvdxVBP2aV166j5Xlvb5Cdc.jpg","genre_ids":[80,53],"id":458156,"original_language":"en","original_title":"John Wick: Chapter 3 \xe2\x80\x93 Parabellum","overview":"Super-assassin John Wick returns with a $14 million price tag on his.","poster_path":"/ziEuG1essDuWuC5lpWUaw1uXY2O.jpg","release_date":"2019-05-15","title":"John Wick: Chapter 3 \xe2\x80\x93 Parabellum","video":false,"vote_average":7.1,"vote_count":1792,"popularity":73.353}
],
"total_pages":1000,"total_results":20000}'