我正在Django网站上工作,并且试图在模板中实现一个非常基本的条件,即在ModelForm字段中检查是否为空或空字段。我不确定是否可以对div进行条件显示,但我的第一个条件始终是正确的。我只初始化了表单并将其传递给模板,所以我不理解我的CharField如何具有值,并且对于下面的FileField也有同样的问题。
models.py
class Alias(models.Model):
lexeme = models.ForeignKey(Lexeme, on_delete=models.CASCADE)
alias_value = models.CharField(_("Value"), max_length=256, blank=True, null=True)
language = models.CharField(_("Language"), choices=LANGUAGE_CHOICE, max_length=40, default='en')
class Meta:
verbose_name = "Alias"
verbose_name_plural = "Aliases"
ordering = ["alias_value"]
def __str__(self):
return self.alias_value
forms.py
class AliasForm(forms.ModelForm):
class Meta:
model = Alias
fields = ['alias_value', 'language']
views.py
alias_form = AliasForm(initial={'alias_value': alias.alias_value,
'language': alias.language})
但是在这里,alias.alias_value等于无。
template.html
{% if alias_form.alias_value %}
<div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo">
{% else %}
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo">
{% endif %}
答案 0 :(得分:1)
在模板alias_form.alias_value
中将为您提供字段本身。要检查字段值,您可以使用:
{% if alias_form.alias_value.value %}