django - 如何在 Django 的 forms.ChoiceField 中默认选择一个选项?
问题描述
我有这样的事情:
class MyForm(forms.Form):
CHOICES = (
('opt1', 'Opt1'),
('group',(
('opt2', 'Opt2'),
('opt3', 'Opt3'),
)
),
)
myfield = forms.ChoiceField(choices=CHOICES, required=False)
当我呈现此表单时,默认选择 opt1,但我需要选择 opt3。
我试过类似的东西:
myfield = forms.ChoiceField(choices=CHOICES, required=False, initial="opt3")
但它没有用。
我得到了什么:
<select name="myfield" id="id_myfield">
<option value="opt1">Opt1</option>
<optgroup label="group">
<option value="opt2">Opt2</option>
<option value="opt3">Opt3</option>
</optgroup>
</select>
我想得到什么:
<select name="myfield" id="id_myfield">
<option value="opt1">Opt1</option>
<optgroup label="group">
<option value="opt2">Opt2</option>
<option value="opt3" selected>Opt3</option>
</optgroup>
</select>
我如何才能默认选择 opt3?
解决方案
这是工作
myfield = forms.ChoiceField(choices=CHOICES, required=False, initial="opt3`")
我的问题是我的观点:
form = MyForm(request.GET)
现在我解决了这个问题:
if request.GET:
form = MyForm(request.GET)
else:
form = MyForm()
推荐阅读
- r - 搜索并格式化字符串
- ios - 如何删除从重量结果产生的文本?
- javascript - 在服务器上选择文件路径并在客户端使用此路径
- docker - 构建 docker 镜像时的最佳实践
- laravel - 如何在 laravel 中查找无效文本表示的列名 7 错误无效的整数输入语法?
- spring-boot - 启动多个 Spring Boot 应用程序进行测试
- docker - 如何在 Aptible ssh 登录时显示自定义消息
- routing - DHT 路由表 - 为什么使用存储桶而不是地图?
- mongodb - 使用聚合、匹配和查找在 MongoDB 中一次查询多个集合
- excel - 如何选择包含数据但列 C 到 L 的最后一行