Django模板中无法访问Python字典

时间:2019-03-14 20:38:03

标签: django django-templates

我想使用从视图传递到模板的键来访问字典值。尽管经过数小时的搜索和奋斗,我仍然无法预测原因。下面是图片。

views.py中的发布方法

    def post(self, request):
        value = request.POST['value']
        if value is '':
            return redirect('home')
        else:
            start_time = time.time()
            obj = CalcClass(value)
            result=obj.calculate()
            end_time = time.time() - start_time
            output={}
            output['result']=result
            output['end_time']=end_time

            return render(request, 'fibohome/home.html', output)

template home.html

<div class="col-sm-6 col-md-6">
            <div class="panel panel-default">
                <div class="panel-body">
                    {% if output %}
                        <h3>Output</h3>
                        <h4>{{ output.result }}</h4>


                        <h3>Time required</h3>
                        <h4>{{ output.end_time }}</h4>

                    {% else %}
                        <h3>None</h3>
                    {% endif %}
                </div>
            </div>

        </div>

前端用户界面-提交任何数字后,仅显示“无”。虽然我在控制台中得到输出。 enter image description here

希望我提供了足够的信息。谢谢!

1 个答案:

答案 0 :(得分:3)

传递给模板的内容中没有output这样的东西。 output就是您为上下文词典指定的名称。模板接收该词典的内容。因此,您可以直接执行例如{{ result }}{{ end_time }}