我试图说服ListAPIView
表现出来自纯Django的ListView
的方式(这意味着,渲染一个带有object_list
变量的模板,可能是一些分页的东西,等等)。这是我试过的:
class UserListView(ListAPIView):
permission_classes = (AllowAny, )
queryset = User.objects.all()
serializer_class = UserListSerializer
renderer_classes = (TemplateHTMLRenderer, )
template_name = 'user/list.html'
假设qazxsw poi是内置的Django用户模型,qazxsw poi是User
和UserListSerializer
,模板只包含ModelSerializer
的for循环显示所有用户。
当我尝试它时,我收到以下错误:
fields = "__all__"
我必须做一些非常错误的事情,我相信必须有一种方法可以利用通用性,我只是不知道如何。
序列化程序需要object_list
格式的上下文,但您提供的是由renderer_classes生成的TypeError: context must be a dict rather than ReturnList.
。
如果你需要dict
,我没有得到你为什么使用ReturnList
?你显然正在渲染一个模板而不是JSON。因此,请提及您需要这样做的具体原因,以便任何人都能理解您要实现的目标。
好吧,我刚陷入困境。如果我启用分页,一切都按预期工作,e。 G。将此添加到我的设置中:
ListView
我永远不会猜到这会是问题所在。