如何在一个网页中调用多个 APIView 作为项目列表?

How to call multiple APIView in one single web page as a list of items?

我正在使用 django rest 框架开发一个测验项目,在该要求下,我需要在一个页面中列出每个 table。下面是代码片段。

class QuizList(APIView):
    renderer_classes = [TemplateHTMLRenderer]
    template_name = 'adminView.html'

    def get(self, request):
        queryset = Quiz.objects.all()
        return Response({'quiz': queryset})


class AnswerList(APIView):
    renderer_classes = [TemplateHTMLRenderer]
    template_name = 'adminView.html'

    def get(self, request):
        queryset = Answer.objects.all()
        return Response({'answer': queryset})


class QuestionList(APIView):
    renderer_classes = [TemplateHTMLRenderer]
    template_name = 'adminView.html'

    def get(self, request):
        queryset = Question.objects.all()
        return Response({'question': queryset})

在上面的代码片段中,我能够在我的网页中列出第一个 class "QuizView"。但除此之外,当我尝试添加其他 APIView 时,它们根本就没有发生。下面是 HTML 模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Admin View</title>
</head>
<body>
<ul>
    {% for quizez in quiz %}

    <a href="" onclick="">{{ quizez.name }}</a>
    {% endfor %}

</ul>

<ul>
    {% for questions in question %}
    <li>{{ questions.label }}</li>
    {% endfor %}
</ul>

<ul>
    {% for answers in answer %}
    <li>{{ answer.text }}</li>
    {% endfor %}
</ul>

</body>
</html>

我试图将所有 for 循环放在一个 "ul" 中,但即使这样也行不通。请帮助

谢谢

为什么不只有一个视图 class?

class AllView(APIView):

    renderer_classes = [TemplateHTMLRenderer]
    template_name = 'adminView.html'

    def get(self, request):
        quiz_queryset = Quiz.objects.all()
        answer_queryset = Answer.objects.all()
        question_queryset = Question.objects.all()
        return Response({
            'quiz': quiz_queryset,
            'answer': answer_queryset,
            'question': question_queryset
        })