【发布时间】:2019-10-27 17:15:30
【问题描述】:
我正在尝试制作发票收据,它从 django 数据库中获取数据并将该数据呈现在模板上。数据已存储并可在终端中显示数据已很好地存储在该模型中。我已经做了好几次了,但我无法弄清楚为什么我的模板中没有呈现数据。
这是我的 Models.py
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
这是我的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>
模板中没有数据,而是字段为空。
【问题讨论】:
-
是没有渲染模板还是没有渲染上下文数据?
-
嗨 chirag,在渲染您提供的模板时
{LR:'LR'}但在客户端中您正尝试访问 LR.some_property。首先,LR中只有一个字符串,即'LR'。尝试分配一个不带引号的dict值,例如{'LR':LR} -
例如:
LR = dict(); LR.lr_consignor_contact_phone="733849"; return render(request, 'classroom/suppliers/showLR.html', {'LR':LR}) -
@shafik 模板已渲染,但该模板中未显示任何数据。所有字段均为空白。
-
@PrasanthGanesan 嗯,这是一种很棒的方法,但它不是总是给我分配的静态数据,而不是实时从数据库中获取数据吗?
标签: python django-models django-forms django-templates