首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在默认情况下不选中单选按钮的情况下使用RadioSelect呈现Django表单?

如何在默认情况下不选中单选按钮的情况下使用RadioSelect呈现Django表单?
EN

Stack Overflow用户
提问于 2010-07-14 17:41:26
回答 3查看 8.7K关注 0票数 17

在Django 1.2.1上,我使用了ModelForm并生成了一个带有单选按钮的表单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class myModelForm(ModelForm):    
    class Meta:
        model = myModel
        widgets = {
            'choose': RadioSelect(),
        } 

这会生成一个带有伪值的额外输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<li><input type="radio" id="id_choose_0" value="" name="choose1" /> ---------</li>
<li><input type="radio" id="id_choose_1" value="1" name="choose1" /> First choice</li>

我知道我可以通过设置一个默认值来摆脱自动生成的空输入字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myChoices = (
    ("1", "First choice"),("2", "Second choice"),("3", "Third choice"),
)    

class myModel(models.Model):
    choose = models.CharField(max_length=1, choices=myChoices, default=1...

因此,在这种情况下,将选择第一个选项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<li><input checked="checked" type="radio" id="id_choose_1" value="1" name="choose1" /> First choice</li>
<li><input type="radio" id="id_choose_2" value="2" name="choose2" /> Second choice</li>

但是如果没有选中的输入属性,我该如何呈现表单呢?

(并且没有自动生成的文件)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-17 14:50:26

这是一种老生常谈的解决方案,但我已经对其进行了测试:只需将字段的默认值设置为一个不在选项之列的值(我建议将其设置为None)。在呈现表单时,Django不知道将哪个输入标记为选中,因此它将保留所有输入都未选中(不会抛出错误)。有默认值的事实意味着将不会有自动生成的输入域。

票数 17
EN

Stack Overflow用户

发布于 2014-01-31 08:55:08

在Django1.6(没有在其他版本中测试)中,你需要的只是default=None

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class myModel(models.Model):
    choose = models.CharField(..., default=None)

class myModelForm(ModelForm):
    class Meta:
        model = myModel
        widgets = {
            'choose': RadioSelect(),
        }
票数 11
EN

Stack Overflow用户

发布于 2012-06-28 09:16:04

以前的解决方案对我不起作用。

因此,我只需要切出第一个小部件的选择。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class myModelForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(ContactForm, self).__init__(*args, **kwargs)
        self.fields['choose'].choices = self.fields['choose'].choices[1:]

    class Meta:
        model = myModel
        widgets = {
            'choose': RadioSelect(),
        } 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3248887

复制
相关文章
单选按钮的取消与选中 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
3.6K0
单选框设置默认选中
属性含义: type=“radio” → type属性为radio是单选 name=“type” → 单选必须设置name属性相同 type → 设置的名称 value=“教师” → 属性值=教师
是阿超
2021/10/15
5K0
DataTable 插件在表格里面有按钮的情况下不对齐
在表格内容全部都是文字的情况下,固定表格的头与内容区是对齐的,但是当有一列含有几个按钮时,头部与内容突然不对齐,解决方法是在样式中设置按钮的宽度
tianyawhl
2019/04/04
8730
django 1.8 官方文档翻译:5-1-4 内建的Widget
Widget 是Django 对HTML 输入元素的表示。Widget 负责渲染HTML和提取GET/POST 字典中的数据。
ApacheCN_飞龙
2022/11/27
5K0
在有EditText的界面 默认情况下不获取焦点(不弹出输入框)
在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustPan|stateHidden.
103style
2022/12/19
1.5K0
在有EditText的界面 默认情况下不获取焦点(不弹出输入框)
MySQL--什么情况下不建议使用join查询
当需要查询两个表的交集、并集等数据时,除了嵌套子查询的方式外,还可以使用join的方式提升性能。对于MySQL的join语句,需要两个最基础的“角色”:主表即驱动表,关联表即驱动表。join描述的就是驱动表与被驱动表的关联关系。MySQL有三种关联逻辑处理策略,分别为:Index Nested-Loop Join、Simple Nested-Loop Join、Block Nested-Loop Join。在编写SQL时,需要配合explain使语句选择性能最优的策略。
关忆北.
2023/10/11
2560
MySQL--什么情况下不建议使用join查询
什么情况下不能使用最坏情况评估算法的复杂度?
上一节,我们从最坏、平均、最好三种情况分析了算法的复杂度,得出结论,通常来说,使用最坏情况来评估算法的复杂度完全够用了。
彤哥
2020/07/23
5640
MYSQL 索引类型、什么情况下用不上索引、什么情况下不推荐使用索引
转载自 http://blog.csdn.net/kaka1121/article/details/53395628
allsmallpig
2021/02/25
6350
32.Django form组件
Form组件  Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; 1.内置字段 Field required=True, 是否允许为空 widget=None, HTML插件 label=None,
zhang_derek
2018/04/11
3.1K0
Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope
判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那么我们如何实现RedirectAttributes的flashMessage功能呢?
飞奔去旅行
2019/06/13
5.5K0
Django学习笔记之Django Form表单详解
这是一个非常简单的表单。实际应用中,一个表单可能包含几十上百个字段,其中大部分需要预填充,而且我们预料到用户将来回编辑-提交几次才能完成操作。
Jetpropelledsnake21
2018/08/01
4.6K0
react中什么情况下不能用index作为key
这里Robin Pokirny的文章中提到了,如果满足这三者,可以放心使用index作为key
阿超
2022/08/21
8280
react中什么情况下不能用index作为key
默认情况下 80% 的 Android 应用正在使用加密流量
谷歌方面表示,截至 2019 年 10 月,五分之四(80%)可通过官方 Play 商店下载的 Android 应用程序正在使用 HTTPS 加密各自的网络流量。而对于直接针对 Android 9 的应用,该数字甚至更高,达到 90%。这意味着进入或离开这些应用程序之一的流量是经过加密的,第三方无法拦截或读取。
用户8639654
2021/09/22
4190
Spring Batch 在默认情况下的任务执行
考察项目:https://github.com/cwiki-us-spring/cwiki-us-spring-batch-examples 你可以 Check out 到本地后运行:
HoneyMoose
2020/02/19
6590
Spring Batch 在默认情况下的任务执行
考察项目:https://github.com/cwiki-us-spring/cwiki-us-spring-batch-examples 你可以 Check out 到本地后运行:
HoneyMoose
2020/02/24
1.2K0
Django 后台自定义表单控件
在 django 中我们可以在 admin.py 中添加 ModelAdmin,这样就能很方便地在后台进行增删改查的操作。然而,对应 Model 生成的表单,并不友好,我们希望能像前端开发一样做出各种类型的控件,这就得对其后台的表单进行自定义。
菲宇
2019/07/31
1.8K0
Django 后台自定义表单控件
MYSQL 默认情况下 MYSQL 是ACID 吗?
最近的世界变化是快, 平行宇宙"被发现", 地球人是外星人的培育的"猿猴",到被抛弃,每天都在刷新. 前几天的MYSQL的事务错误不会滚的问题, 有同学反映没有太明白.
AustinDatabases
2020/07/06
1.6K0
Form和ModelForm组件
我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。
py3study
2020/01/16
5K0
WPF 窗口和控件的 Unloaded 事件什么情况下不会触发
WPF 中如果监听窗口或者控件的的 Unloaded 事件,那么这个事件会触发吗?答案是不确定的。
walterlv
2023/10/22
5070
点击加载更多

相似问题

默认情况下不选中AngularJS ng-重复单选按钮

46

默认情况下不选中开关按钮。

15

如何在默认情况下选中单选按钮?

20

默认情况下不检查Tkinter单选按钮

11

在设置窗体的ngModel时,默认情况下不选中角5单选按钮

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文