我正在尝试使用模型表单小部件更新模型。除了 forms.DateField 之外的所有字段都可以在 HTML 表单中进行编辑

Posted

技术标签:

【中文标题】我正在尝试使用模型表单小部件更新模型。除了 forms.DateField 之外的所有字段都可以在 HTML 表单中进行编辑【英文标题】:I am trying to update a model using a model form widget. All fields except forms.DateField is available to edit in HTML form 【发布时间】:2018-11-19 20:45:14 【问题描述】:

我正在尝试使用模型表单小部件更新模型。除了 forms.DateField 之外的所有字段都可以在 html 表单的各自字段中进行编辑。 forms.DateField 正在使用 widget=forms.TextInput(attrs='type': 'date')。

publish = forms.DateField(widget=forms.TextInput(attrs='type': 'date'))

整个表格的屏幕截图在这里,

html表单输出显示在这里。

它在不使用另一个模型表单中的小部件的情况下工作,给出先前保存的日期时间值,填充文本输入以进行编辑,该字段定义如下。

birth_date = forms.DateField(label='更改出生日期', help_text='(以“yyyy-mm-dd”格式输入出生日期,如1980-12-31)')

附上输出截图, enter image description here

我应该怎么做才能将具有先前保存的日期时间值的 HTML 表单从模型显示到输入字段以使用小部件进行编辑/更新。有了小部件,我得到了一个日历。所有其他表单输入字段获取更新数据,只有这个特定字段不显示以前保存的数据。我希望我的问题有意义。任何解决方案将不胜感激。提前致谢。

问候, 维维克光伏

【问题讨论】:

【参考方案1】:

终于成功了。

我已经安装了“django-bootstrap-datepicker-plus”使用

pip install django-bootstrap-datepicker-plus

我像下面这样更改了表单字段并按照我想要的方式工作,

publish = forms.DateField(widget=forms.widgets.DateInput(attrs='type': 'date'))

问候, 维韦克

【讨论】:

以上是关于我正在尝试使用模型表单小部件更新模型。除了 forms.DateField 之外的所有字段都可以在 HTML 表单中进行编辑的主要内容,如果未能解决你的问题,请参考以下文章

Angular UI select2 指令 - 以编程方式更新模型未反映在小部件上

具有浮点形式输入的 django 整数模型字段

多对多关系的 Select2 小部件

Kendo MVVM 数据绑定与自定义 Kendo 小部件

如何在 Django 中使用复选框小部件从 MultipleChoiceField 保存数据

使用django admin的日期选择器