我正在尝试制作一个invoice Receipt,它从django数据库获取数据,并在模板上呈现这些数据。数据被存储并可以在终端中显示,数据被很好地存储在该模型中。我已经做了好几次了,但我不明白为什么我的模板中没有呈现数据
这是我的模特
class LR(models.Model):
lr_quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE, related_name='quiz_lr')
lr_no = models.IntegerField(default=0)
lr_date = models.DateTimeField(max_length=255, default=now)
lr_billingparty = models.CharField(max_length=255, default=0) # supplier company name foreign key
invoice_no = models.IntegerField(default=0)
lr_declared = models.IntegerField(default=0)
ewaybill_no = models.IntegerField(default=0)
lr_quantity = models.IntegerField(default=0) # quantity
lr_weight = models.IntegerField(default=0) # weight
lr_invoice_date = models.DateTimeField(max_length=255, default=now)
lr_item_name = models.CharField(max_length=255, default=0) # said to contain
lr_consignor_name = models.CharField(max_length=255, default=0) # shipper company name
lr_consignor_address = models.CharField(max_length=255, default=0) # shipper company name
lr_consignor_contact_name = models.CharField(max_length=255, default=0) # shipper company name
lr_consignor_contact_phone = models.CharField(max_length=255, default=0) # shipper company name
lr_consignee_name = models.CharField(max_length=255, default=0) # shipper company name
lr_consignee_address = models.CharField(max_length=255, default=0) # shipper company name
lr_consignee_contact_name = models.CharField(max_length=255, default=0) # shipper company name
lr_consignee_contact_phone = models.CharField(max_length=255, default=0) # shipper company name
vehicle_no = models.CharField(max_length=255, default=0)
lr_vehicle_type = models.IntegerField(default=0)
driver_name = models.CharField(max_length=255, default=0)
driver_no = models.IntegerField(default=0)
def str (self):
return self.name
这是my views.py:
def PrintLR (request, pk):
LR = get_object_or_404(LR, lr_quiz_id=pk)
context_object_name = 'LR'
template_name = 'classroom/suppliers/showLR.html'
return render(request, 'classroom/suppliers/showLR.html', {LR:'LR'})
这是我的HTML模板:
<tr>
<th>CNOTE NO</th>
<th>BOOKING DATE</th>
<th>BILLING PARTY</th>
</tr>
<tr>
<td>{{ LR.lr_consignor_contact_phone }}</td>
<td>{{ LR.lr_declared }}</td>
<td>{{ LR.lr_consignee_name }}</td>
</tr>
在模板中看不到任何数据,而是字段为空
更改
PrintLR
方法首先,确保它返回一个对象
然后在模板中
这:
是错误的-您使用模型实例作为键,使用文本字符串
'LR'
作为值,因此在模板上下文中没有名为“LR”的内容。你想要的是请注意,这次我们使用字符串作为键,实例作为值
作为旁注,您不应该将实例命名为与类相同的名称-这充其量是令人困惑的,并且可能导致意外行为,因为它在当前范围的其余部分中隐藏了类。哦,是的,
context_object_name = 'LR'
部分是完全无用的相关问题 更多 >
编程相关推荐