我构建了一个Django驱动的WebApps,我在其中使用了一个称为平均CGPA(AVG_CGPA(的模型字段,该字段是Django模型中的十分位域。我还使用一个用于控制器/模板上的循环来生成有关学生的所有单独数据。现在,我的目的是比较每行模型的AVG_CGPA数据,以生成一个新的
tag。学生。例如,如果AVG_CGPA> 2.00将是打印通行证,否则失败了!我确实尝试了您在模板上看到的,但它不起作用,请提出您的帮助答案。
(Django model here)
class Management(models.Model):
student_id = models.CharField(max_length=100)
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
father_name = models.CharField(max_length=200)
mother_name = models.CharField(max_length=200)
Present_address = models.TextField(max_length=400)
Permanent_address = models.TextField(max_length=400)
contact = models.CharField(max_length=11)
avg_cgpa = models.DecimalField(max_digits=20,decimal_places=2)
def __str__(self):
return self.student_id
(Here is the template)
{% load static %}
{% include 'base.html' %}
{% block content %}
{% include 'navbar.html' %}
{% include 'banner.html' %}
<div class = "container">
<div class="row">
{% for x in student %}
<div class="col-md-4">
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title"><strong>ID : </strong> {{ x.student_id }}</h5>
<hr class="my-4">
<img class="card-img-top" src="{% static "images/hat.png" %}"><hr class="my-4">
<h6 class="card-subtitle mb-2 text-muted"><strong><i class="far fa-user-circle"></i> </strong> {{ x.first_name }} {{ x.last_name }}</h6>
<hr class="my-4">
<p class="card-text">Father's Name : <strong>{{ x.father_name }}</strong></p>
<p class="card-text">Mother's Name : <strong>{{ x.mother_name }}</strong></p>
<p class="card-text">Address : <strong>{{ x.Permanent_address }}</strong></p>
<p class="card-text"><strong><i class="fas fa-phone"></i> {{ x.contact }}</strong> </p>
<p class="card-text">Avg CGPA : <strong>{{ x.avg_cgpa }}</strong></p>
{% if x.avg_cgpa > "2" %}
<p class="card-text">Condition : <strong>Pass</strong></p>
{% endif %}
</div>
</div>
</br>
</div>
{% endfor %}
</br>
</div>
{% include 'footer.html' %}
{% endblock%}
我确实尝试过是否有循环条件,但没有结果。
我将考虑将属性添加到您的模型中,该属性是否返回是否是通过
class Management(models.Model):
@property
def passed(self):
return self.avg_cgpa > 2
然后可以在模板{% if x.passed %}
中使用,也可以在代码的其他部分中使用,并且更可读性