我运行服务器并转到... / api / user后,它返回错误
File ".../project/user/views.py", line 21, in get
return Response(serializer.data)
TypeError: __init__() takes 1 positional argument but 2 were given
注意第21行: 返回响应(serializer.data)
models.py
class User(models.Model):
name = models.CharField(max_length=100)
address = models.CharField(max_length=300)
def __str__(self):
return self.name
views.py
class UserInfo(APIView):
def get(self, request, format=None):
user = User.objects.all()
serializer = UserSerializer(user, many=True)
return Response(serializer.data)
user / urls.py
urlpatterns = [
path('user/', UserInfo.as_view(), name='list_user')
]
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('user.urls'))
]
urlpatterns = format_suffix_patterns(urlpatterns)
我添加了.as_view()。
答案 0 :(得分:1)
基于该评论
期望从视图中返回
Response
,HttpResponse
或HttpStreamingResponse
,但是当我编辑return Response()时收到<class 'requests.models.Response'>
结果
您输入了错误的Response()
。您必须从DRF而不是从Requests中导入一个。