为啥在模板中呈现时表单中的 NullBooleanField 会给出下拉列表?

Posted

技术标签:

【中文标题】为啥在模板中呈现时表单中的 NullBooleanField 会给出下拉列表?【英文标题】:Why does NullBooleanField in form give a dropdown when rendered in template?为什么在模板中呈现时表单中的 NullBooleanField 会给出下拉列表? 【发布时间】:2020-02-19 12:45:42 【问题描述】:

当我将表单字段更改为 CharField 时,模板中没有下拉菜单,BooleanField 也没有。为什么 NullBooleanField 会得到一个下拉列表(在表单中)?如果我不想下拉怎么办?这是内置的通用视图吗?

【问题讨论】:

然后你指定一个不同的小部件。 【参考方案1】:

由于复选框的 html 规范,它们仅在选中时发送值。引用 HTML 4 规范:

提交表单时,只有“on”复选框控件才能成功。

您无法确定缺失值是否意味着它只是缺失或错误。

NullBooleanField 允许您做出改变,但由于 HTML 规范,它不能使用复选框,因此它必须退回到下拉菜单,以便在错误值和无值之间提供选择。

【讨论】:

以上是关于为啥在模板中呈现时表单中的 NullBooleanField 会给出下拉列表?的主要内容,如果未能解决你的问题,请参考以下文章

Django - 不使用表单或模型表单时在模板中呈现模型选择

Django:在模板中呈现表单字段时添加 CSS 类

Django为表单中的两个提交按钮呈现不同的模板

Django,表单未在模板中呈现

为啥我的模态呈现(表单)navController 的 rootViewController 在模态呈现时不知道它的尺寸较小?

如何检查表单字段中是不是有呈现控制器的树枝模板中的数据