Django查看变量

时间:2017-02-03 22:41:05

标签: django views

我正在尝试在详细视图模板中从两个用户给定的变量创建一个值。我已经尝试使用jinja在HTML内部进行数学运算,但后来发现首选的方法是在apps views.py文件中创建变量。我发现了一些相互矛盾的方式以下是我目前的情况:

def meter_variables(request):
    GvData.incoming_meter_daily_total = (GvData.incoming_meter_1_close - GvData.incoming_meter_1_open)
    + (GvData.incoming_meter_2_close - GvData.incoming_meter_2_close)

    return render(request, 'geneva/geneva_record.html',
                  {'incoming_meter_daily_total': GvData.incoming_meter_daily_total})

在我的HTML中我有:

<td><input type="number" class="form-control" placeholder="Daily Total"

value="{{ incoming_meter_daily_total }}"/>
                            </td>

它没有提供任何价值。我想我正在从模型对象中错误地访问值,但我不确定究竟是多少。

我在models.py中的课程很长,但所有字段都是变体:

class GvData(models.Model):
    gv_01_open_stock = models.FloatField(default=0)
    gv_02_open_stock = models.FloatField(default=0)

我的观点是使用班级观点创建的:

class IndexView(generic.ListView):
    template_name = 'geneva/index.html'

    def get_queryset(self):
        return GvData.objects.all()


class RecordView(generic.DetailView):
    model = GvData
    template_name = 'geneva/geneva_record.html'

1 个答案:

答案 0 :(得分:0)

如果您要将视图中的数据按原样发送到模板,则无需添加&#34;对象&#34;在value="{{ object.incoming_meter_daily_total }}"

在您看来,您要为此键指定值:incoming_meter_daily_total 因此,这是您需要在模板中使用的确切变量

value="{{ incoming_meter_daily_total }}"

您正在从模型中获取查询集。通过查看代码,您可以尝试直接从此查询集中获取值。 Django默默地在模板上失败,目的是不打破整个页面。从此查询集的其中一个元素访问数据(使用[0]或所需的值)或循环查询集。