为啥在模板中呈现时表单中的 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 - 不使用表单或模型表单时在模板中呈现模型选择
为啥我的模态呈现(表单)navController 的 rootViewController 在模态呈现时不知道它的尺寸较小?