我正在尝试在详细视图模板中从两个用户给定的变量创建一个值。我已经尝试使用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'
答案 0 :(得分:0)
如果您要将视图中的数据按原样发送到模板,则无需添加&#34;对象&#34;在value="{{ object.incoming_meter_daily_total }}"
在您看来,您要为此键指定值:incoming_meter_daily_total
因此,这是您需要在模板中使用的确切变量
value="{{ incoming_meter_daily_total }}"
您正在从模型中获取查询集。通过查看代码,您可以尝试直接从此查询集中获取值。 Django默默地在模板上失败,目的是不打破整个页面。从此查询集的其中一个元素访问数据(使用[0]
或所需的值)或循环查询集。