我正在开发的网站上有一些显示工作正常,但即使某些元素为 null
也会显示所有内容。我正在使用 Django 并有以下模型,我想用它来更改显示:
class Exchange(models.Model):
YEAR_CHOICE = ((4, '4TC'),
(5, '5TC'))
SEMESTER_CHOICE = ((1, 'S1'),
(2, 'S2'))
GRADE = ((1, '1'),
(2, '2'),
(3, '3'),
(4, '4'),
(5, '5'))
ID = models.AutoField(primary_key=True)
Year = models.IntegerField(default=-1, choices=YEAR_CHOICE)
StartDate = models.DateField()
EndDate = models.DateField()
Semester = models.IntegerField(default=-1, choices=SEMESTER_CHOICE)
Visa = models.BooleanField(default=False)
Comment = models.CharField(max_length=1000, null=True, blank=True)
VisaMonths = models.IntegerField(null=True, blank=True, default=-1,)
VisaWeeks = models.IntegerField(null=True, blank=True, default=-1,)
VisaDays = models.IntegerField(null=True, blank=True, default=-1)
Rent = models.IntegerField(null=True, blank=True, default=-1)
MonthlyExpenses = models.IntegerField(null=True, blank=True, default=-1)
NightLifeGrade = models.IntegerField(null=True, blank=True, default=-1,choices=GRADE)
CulturalLifeGrade = models.IntegerField(null=True, blank=True, default=-1,choices=GRADE)
Security = models.IntegerField(null=True, blank=True, default=-1,choices=GRADE)
Student = models.ForeignKey('Student', on_delete=models.CASCADE)
University = models.ForeignKey('University', on_delete=models.CASCADE)
def __str__(self):
return str(self.ID)
在我的 HTML 页面中,我有以下内容:
<button class="accordion">Commentaires</button>
<div class="panel">
{% for e in ex %}
<h5>{{e.Student.Name}} {{e.Student.Surname}}, parti en {{e.StartDate}} ({{e.Year}}A {{e.Student.INSADepartement}} S{{e.Semester}})</h5>
<blockquote>{{e.Comment}}</blockquote>
{% endfor %}
</div>
如果e.Comment
不为null
,我只想在按钮中显示信息。我尝试在 for 循环中添加 {% if(e.Comment) %} ... {% endif %}
但我不断收到 无法解析其余部分
错误.
关于如何执行此检查有什么想法吗?
最佳答案
Change your html page, you just need to change your if condition.
<button class="accordion">Commentaires</button>
<div class="panel">
{% for e in ex %}
<h5>{{e.Student.Name}} {{e.Student.Surname}}, parti en {{e.StartDate}} ({{e.Year}}A {{e.Student.INSADepartement}} S{{e.Semester}})</h5>
{% if e.Comment %}
<blockquote>{{e.Comment}}</blockquote>
{% endif %}
{% endfor %}
</div>
And if you don't want to display anything, if there is no comment. Then your html page should be like this
<button class="accordion">Commentaires</button>
{% for e in ex %}
{% if e.Comment %}
<div class="panel">
<h5>{{e.Student.Name}} {{e.Student.Surname}}, parti en {{e.StartDate}} ({{e.Year}}A {{e.Student.INSADepartement}} S{{e.Semester}})</h5>
<blockquote>{{e.Comment}}</blockquote>
</div>
{% endif %}
{% endfor %}
关于javascript - 使用 Django 检查 HTML 中的数据库元素不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58802535/