【发布时间】:2020-05-11 02:14:52
【问题描述】:
我通过从数据库中获取数据在 Django 视图中创建了一个字典。但是,我无法理解如何使用它在 html 中将其打印为表格。以下是相关文件。
Views.py
if 'form1' in request.POST:
d={}
vendor_choice = request.POST["inlineDefaultRadiosExample"]
date_choice = request.POST["inlineDefaultRadiosExample1"]
x = employee.objects.all()
count=0
for i in x:
if date_choice == 1:
d[count]=transaction.objects.filter(vendor_id=vendor_choice, emp_id = i.id, timestamp__gte = datetime.date.today() - datetime.timedelta(days=30))
count+=1
elif date_choice == 2:
d[count]=transaction.objects.filter(vendor_id=vendor_choice, emp_id = i.id, timestamp__gte = datetime.date.today() - datetime.timedelta(days=60))
count+=1
else:
d[count]=transaction.objects.filter(vendor_id=vendor_choice, emp_id = i.id, timestamp__gte = datetime.date.today() - datetime.timedelta(days=180))
count+=1
return render(request, 'profiles/adminKaLogin.html', {'model':d})
models.py
class vendor(models.Model):
id = models.CharField(max_length=20, primary_key=True)
name = models.CharField(max_length=30)
class employee(models.Model):
name = models.OneToOneField(User, on_delete=models.CASCADE)
id = models.CharField(max_length=20, primary_key=True)
balance = models.IntegerField(default=0)
class transaction(models.Model):
vendor_id = models.ForeignKey(vendor, on_delete=models.CASCADE)
emp_id = models.ForeignKey(employee, on_delete=models.CASCADE)
debit = models.IntegerField()
credit = models.IntegerField()
timestamp = models.DateField(("Date"), default=datetime.date.today)
HTML
{% if model %}
<table>
<thead>
<tr>
<th style = "padding: 20px;">Vendor ID</th>
<th style = "padding: 20px;">Employee ID</th>
<th style = "padding: 20px;">Debit</th>
<th style = "padding: 20px;">Credit</th>
<th style = "padding: 20px;">Time of transaction</th>
</tr>
</thead>
<tbody>
{% for i in model %}
<tr>
<td style="text-align: center;">{{ i.vendor_id.id }}</td>
<td style="text-align: center;">{{ i.emp_id.id }}</td>
<td style="text-align: center;">{{ i.debit }}</td>
<td style="text-align: center;">{{ i.credit }}</td>
<td style="text-align: center;">{{ i.timestamp }}</td>
</tr>
{% endfor %}
</tbody>
</table>
感谢任何帮助。谢谢。
【问题讨论】:
-
类名应遵循
CamelCase样式。
标签: python html django django-views