Python 隐藏django表单字段的无值
我的新闻应用程序上有一个“结束日期”字段,这是一个临时字段。 当一个作者编辑一个新文档并删除结束日期时,我在模型中将结束日期设置为无 我的问题是,该字段在下次编辑时显示值“None”,而不是仅为空 这是我的领域: 型号.pyPython 隐藏django表单字段的无值,python,django,Python,Django,我的新闻应用程序上有一个“结束日期”字段,这是一个临时字段。 当一个作者编辑一个新文档并删除结束日期时,我在模型中将结束日期设置为无 我的问题是,该字段在下次编辑时显示值“None”,而不是仅为空 这是我的领域: 型号.py end_date = models.DateTimeField(null=True, blank=True) end_date = forms.CharField(label='', required=False, widget=forms.DateTimeInput(a
end_date = models.DateTimeField(null=True, blank=True)
end_date = forms.CharField(label='', required=False, widget=forms.DateTimeInput(attrs={'class': 'form-control', 'format': 'DD, d MM yy', 'placeholder': _('End date')}))
if news_form.cleaned_data['end_date'] == '' :
edited_new.end_date = None
edited_new.save()
forms.py
end_date = models.DateTimeField(null=True, blank=True)
end_date = forms.CharField(label='', required=False, widget=forms.DateTimeInput(attrs={'class': 'form-control', 'format': 'DD, d MM yy', 'placeholder': _('End date')}))
if news_form.cleaned_data['end_date'] == '' :
edited_new.end_date = None
edited_new.save()
在我看来,转让:
视图.py
end_date = models.DateTimeField(null=True, blank=True)
end_date = forms.CharField(label='', required=False, widget=forms.DateTimeInput(attrs={'class': 'form-control', 'format': 'DD, d MM yy', 'placeholder': _('End date')}))
if news_form.cleaned_data['end_date'] == '' :
edited_new.end_date = None
edited_new.save()
编辑:
这是我的模板:
news.html
<form action="#" method="post" role="form" id="news-form">{% csrf_token %}
{{ news_form.media }}
<div class="col-xs-12">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-12 col-md-6">
<h2 class="panel-title">{% trans "Add or edit news" %}</h2>
</div>
<div class="col-xs-12 col-md-6">
<div class="pull-right">
<a href="#" class="btn btn-secondary cancel"><span class="glyphicon glyphicon-floppy-remove"></span> {% trans "Cancel" %}</a>
<button type="submit" class="btn btn-primary form-btn save"><span class="glyphicon glyphicon-floppy-saved"></span><span class="button-text"> {% trans "Save" %}</span></button>
</div>
</div>
</div>
</div>
<div class="panel-body">
<div class="row">
<div class="col-xs-12 col-md-6">
{{ news_form.title }}
</div>
<div class="col-xs-4 col-md-2">
{% trans 'Tag' %}
</div>
<div class="col-xs-8 col-md-4">
{{ news_form.tag }}
</div>
</div>
<div class="row">
<div class="col-xs-12 no-label-field redactor-field">
{{ news_form.message }}
</div>
</div>
<div class="row">
<div class="col-xs-6 date-field no-label-field">
<div class="form-group">
<div class='input-group date datetimepicker'>
{{ news_form.start_date }}
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="col-xs-6 date-field no-label-field">
<div class="form-group">
<div class='input-group date datetimepicker'>
{{ news_form.end_date }}
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
{{ news_form.active }} {% trans 'Activate the news' %}
</div>
</div>
</div>
</div>
</div>
<span style="display:none;">{{ news_form.id }}</span>
</form>
{%csrf\u令牌%}
{{news_form.media}
{%trans“添加或编辑新闻”%}
{%trans“保存”%}
{{news_form.title}
{%trans'标记“%”
{{news_form.tag}
{{news_form.message}
{{news\u form.start\u date}
{{news\u form.end\u date}
{{news\u form.active}{%trans'激活新闻“%”
{{news_form.id}
如果自Django 1.3以来没有可用的过滤器,则可以使用过滤器默认值,它仅适用于无的值
{{ news_form.end_date|default_if_none:'' }}
你能发布模板中的相关片段吗?我已经编辑了我的问题。谢谢,它只对值有效,对表单字段无效,不是吗?它只对值有效:{{{news\u form.end\u date.value{124; default\u if\u none:'}}而且它对空值无效。只有在“{{news_form.end_date.value{124; default_if_none:'a'}”中有内容时才有效。这将有效为什么“none”的默认值不是“”(空)?