为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Django 检查 HTML 中的数据库元素不为空

使用 Django 检查 HTML 中的数据库元素不为空

一只名叫tom的猫 2021-12-23 16:51:58
我在我正在处理的网站上有一些显示,它可以正常工作,但即使某些元素是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。我尝试{% if(e.Comment) %} ... {% endif %}在 for 循环中添加,但我一直收到 Could not parse the remainder错误消息。关于如何执行此检查的任何想法?
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

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 %}


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信