【发布时间】:2018-12-08 12:25:24
【问题描述】:
我正在开发一个 Django 网站,我正在尝试在我的模板中实现一个非常基本的条件,即在 ModelForm 字段中检查 null 或空字段。我不确定是否能够使用 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 等于 None。
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 %}
【问题讨论】:
标签: python django django-templates