Django 视图变量
Django view variables
我正在尝试根据详细视图模板中的两个用户给定变量创建一个值。我试过使用 jinja 在 HTML 内部进行数学计算,但后来发现首选方法是在应用程序 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 很长,但所有字段都是以下的变体:
class GvData(models.Model):
gv_01_open_stock = models.FloatField(default=0)
gv_02_open_stock = models.FloatField(default=0)
我的观点已创建 class 观点:
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'
如果您将视图中的数据发送到模板 as-is,则无需在 value="{{ object.incoming_meter_daily_total }}"
中添加 "object"
在您看来,您正在为此键分配值:incoming_meter_daily_total
所以这是您需要在模板中使用的确切变量
value="{{ incoming_meter_daily_total }}"
您正在从您的模型中获取一个查询集。通过查看代码,您将尝试直接从此查询集中获取值。 Django 在模板上静默失败,目的是不破坏整个页面。从此查询集的元素之一访问数据(使用 [0]
或所需的值)或遍历查询集。
我正在尝试根据详细视图模板中的两个用户给定变量创建一个值。我试过使用 jinja 在 HTML 内部进行数学计算,但后来发现首选方法是在应用程序 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 很长,但所有字段都是以下的变体:
class GvData(models.Model):
gv_01_open_stock = models.FloatField(default=0)
gv_02_open_stock = models.FloatField(default=0)
我的观点已创建 class 观点:
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'
如果您将视图中的数据发送到模板 as-is,则无需在 value="{{ object.incoming_meter_daily_total }}"
在您看来,您正在为此键分配值:incoming_meter_daily_total
所以这是您需要在模板中使用的确切变量
value="{{ incoming_meter_daily_total }}"
您正在从您的模型中获取一个查询集。通过查看代码,您将尝试直接从此查询集中获取值。 Django 在模板上静默失败,目的是不破坏整个页面。从此查询集的元素之一访问数据(使用 [0]
或所需的值)或遍历查询集。