Django 模板上的渲染列表

Django 模板上的渲染列表,django,django-templates,django-views,Django,Django Templates,Django Views,我试图用模型中的数据在模板中创建一些图形。我正在做一个调查应用程序。每个调查都有一些问题,每个问题都有一些答案。用户回答每个问题。所以我计算每个问题的答案。我想在我的模板中绘制这些答案 我使用此视图计算数据并渲染到模板: def SurveyResults(request, id): user = request.user if user.is_authenticated(): quest_survey = Survey.objects.get(id=2)

我试图用模型中的数据在模板中创建一些图形。我正在做一个调查应用程序。每个调查都有一些问题,每个问题都有一些答案。用户回答每个问题。所以我计算每个问题的答案。我想在我的模板中绘制这些答案

我使用此视图计算数据并渲染到模板:

def SurveyResults(request, id):
    user = request.user
    if user.is_authenticated():
        quest_survey = Survey.objects.get(id=2)
        quests = quest_survey.questions()
        graphic = {}
        graphic_id = 1
        if quests:
            for quest in quests: 
                a1 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 1").count()
                a2 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 2").count()
                a3 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 3").count()
                a4 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 4").count()
                graphic[str(graphic_id)] = [['answer1', a1], ['answer2', a2], ['answer3', a3], ['answer4', a4] ]
                graphic_id += 1

            return render(request, 'results.html', locals())
        else:
            msg = "A Survey não possui questões"
            return HttpResponseRedirect('profile.html')
    else:
        msg = "Usuario ou senha digitados incorretamente"
        return HttpResponseRedirect('home.html', {'msg': msg})
{% for key, value in graphic.items %}
    {% for item in value %}
        {{ item }}
    {% endfor %}
{% endfor %}
问题是,如何在模板中获取图形[“1”]、…、图形[“n”]的值

我正在尝试这样做:

{% if graphic %}
        {% for g in graphic %}
            {% for item in g %}
                {{ item }}
            {% endfor %}

        {% endfor %}
{% endif %}

但不是数据,我只得到ID的值:1,2,…,n

使用
items
函数在模板中显示字典的键和值:

def SurveyResults(request, id):
    user = request.user
    if user.is_authenticated():
        quest_survey = Survey.objects.get(id=2)
        quests = quest_survey.questions()
        graphic = {}
        graphic_id = 1
        if quests:
            for quest in quests: 
                a1 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 1").count()
                a2 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 2").count()
                a3 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 3").count()
                a4 = AnswerSelect.objects.filter(question_id=quest.id, body = "answer 4").count()
                graphic[str(graphic_id)] = [['answer1', a1], ['answer2', a2], ['answer3', a3], ['answer4', a4] ]
                graphic_id += 1

            return render(request, 'results.html', locals())
        else:
            msg = "A Survey não possui questões"
            return HttpResponseRedirect('profile.html')
    else:
        msg = "Usuario ou senha digitados incorretamente"
        return HttpResponseRedirect('home.html', {'msg': msg})
{% for key, value in graphic.items %}
    {% for item in value %}
        {{ item }}
    {% endfor %}
{% endfor %}

很抱歉,此解决方案无法正常工作。{{item}}不以单独的方式返回项[1]、项[2]、…、项[n]。取而代之的是,我得到的每个答案都是分开的,这不允许我去设计情节。已经解决了。我只想要第一个和打印值。第二项和打印项不需要。谢谢