Py学习  »  Django

如何在html中访问Django视图中创建的词典

DHRUV KAUSHAL • 6 年前 • 1745 次点击  

视图.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}) 

模型.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>

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53590
文章 [ 2 ]  |  最新文章 6 年前