Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Rest框架-ListCreateAPIView不打印任何内容_Django_Django Rest Framework - Fatal编程技术网

Django Rest框架-ListCreateAPIView不打印任何内容

Django Rest框架-ListCreateAPIView不打印任何内容,django,django-rest-framework,Django,Django Rest Framework,我已经为list创建了一个API,并使用django rest框架创建了它。但它并没有在Web可浏览api中打印任何内容。我不知道是什么问题。当我打印queryset和serializer变量时,它作为queryset提供正确的输出。为什么会这样 Views.py from rest_framework.response import Response from rest_framework import generics from .serializers import MovieSerial

我已经为list创建了一个API,并使用django rest框架创建了它。但它并没有在Web可浏览api中打印任何内容。我不知道是什么问题。当我打印
queryset
serializer
变量时,它作为
queryset
提供正确的输出。为什么会这样

Views.py

from rest_framework.response import Response
from rest_framework import generics
from .serializers import MovieSerializer
from movie.models import Movie
from rest_framework.permissions import IsAuthenticated

   class MovieList(generics.ListCreateAPIView):
       queryset = Movie.objects.all()[:10]
       serializer_class = MovieSerializer
       permission_classes = (IsAuthenticated,)

       def list(self, request):
           # Note the use of `get_queryset()` instead of `self.queryset`
           queryset = self.get_queryset()
           # print(queryset)
           serializer = MovieSerializer(queryset, many=True)
           # print(serializer.data)
           return Response(serializer.data)
序列化程序.py

from rest_framework import serializers
from movie.models import Movie

   class MovieSerializer(serializers.Serializer):
       class Meta:
           model = Movie
           fields = [
               'popularity',
               'director',
               'genre',
               'imdb_score',
               'name',
           ]
请参见图像以供参考。

问题出在您的
序列化程序.py
中。您必须使用
ModelSerializer
而不是
Serializer

from rest_framework import serializers
from movie.models import Movie

   class MovieSerializer(serializers.ModelSerializer):  # <- 
       class Meta:
           model = Movie
           fields = [
               'popularity',
               'director',
               'genre',
               'imdb_score',
               'name',
           ]
从rest\u框架导入序列化程序
从movie.models导入电影

类MovieSerializer(serializers.ModelSerializer):#您的数据是否已填充?是的,已填充您使用的不是
模型序列化程序
,而是
序列化程序
。另外,请注意以这种方式切片queryset。