python - 隐藏django表单字段的无值

标签 python django

我的新闻应用程序中有一个 end_date 字段,它是一个兼性字段。 当一位作者正在编辑他的新作品并删除 end_date 时,我在模型中将 end_date 设置为 None。

我的问题是该字段会在下次编辑时显示值“无”,而不仅仅是空白。

这是我的领域:

模型.py

end_date = models.DateTimeField(null=True, blank=True)

表单.py

end_date = forms.CharField(label='', required=False, widget=forms.DateTimeInput(attrs={'class': 'form-control', 'format': 'DD, d MM yy', 'placeholder': _('End date')}))

以及我认为的分配:

views.py

 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>

最佳答案

您可以使用自 Django 1.3 起可用的过滤器 default_if_none,它仅适用于 None 的值。

{{ news_form.end_date|default_if_none:'' }}

Docs

关于python - 隐藏django表单字段的无值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498731/

相关文章:

python - 多标签二值化器 : float object not iterable

python - 使用带有 Line 协议(protocol)的 Python 客户端将数据插入 Influxdb

python - 使用 pd.json_normalize 展平字典

python - iTunes COM - 如何访问歌词

python - 如何计算邻接矩阵csv的短路径测地距离[python]?

css - 找不到或无法读取要导入的文件 : bootstrap-sass

django - Celery 存储不可恢复的任务失败以供以后重新提交

python - Django 中的负整数

javascript - 使用 Django,我如何在我的 javascript 中检测到管理员?

python - Django 中的 LDAP : required to pass unicode password as string