- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如何在ModelChoiceField optgroup标签中设置?
这是一个例子:
models.py
class Link(models.Model):
config = models.ForeignKey(Config)
name = models.URLField(u'Name', null=True, max_length=50)
gateway = models.IPAddressField(u'Gateway', null=True)
weight = models.IntegerField(u'Weight', null=True)
description = models.TextField(u'Description', blank=True)
def __unicode__(self):
return self.name
forms.py
class LinkForm(ModelForm):
config = ModelChoiceField(queryset=Config.objects.all(), empty_label="Choose a link",widget=GroupedSelect())
class Meta:
model = Link
我想像这样呈现我的 ChoiceField:
example.html
<select id="id_config" name="config">
<option selected="selected" value="">Choose a link</option>
<optgroup label="Configuration" >
<option value="8">Address: 192.168.1.202/255.255.255.0 </option>
<option value="9">Address: 192.168.1.240/255.255.255.0 </option>
<option value="10">Address: 192.168.3.1/255.255.255.0 </option>
</optgroup>
</select>
**更新**
class GroupedSelect(Select):
def render(self, name, value, attrs=None, choices=()):
if value is None: value = ''
final_attrs = self.build_attrs(attrs, name=name)
output = [format_html('<select{0}>', flatatt(final_attrs))]
for index, option_gp in enumerate(self.choices):
if index == 0:
option_value = smart_unicode(option_gp[0])
option_label = smart_unicode(option_gp[1])
output.append(u'<option value="%s">%s</option>' % (escape(option_value), escape(option_label)))
output.append('<optgroup label = "Configuration">')
elif index!=0 and index <= len(self.choices):
option_value = smart_unicode(option_gp[0])
option_label = smart_unicode(option_gp[1])
output.append(u'<option value="%s">%s</option>' % (escape(option_value), escape(option_label)))
output.append(u'</optgroup>')
output.append(u'</select>')
return mark_safe('\n'.join(output))
最佳答案
您不需要创建任何自定义字段,Django 已经完成了这项工作,只需传递格式正确的选项:
MEDIA_CHOICES = (
('Audio', (
('vinyl', 'Vinyl'),
('cd', 'CD'),
)
),
('Video', (
('vhs', 'VHS Tape'),
('dvd', 'DVD'),
)
),
)
关于python - Django ModelChoiceField optgroup 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210511/
我有一个由“主页”、“关于”、“联系方式”、“个人资料”组成的菜单。将鼠标悬停在“个人资料”上时,我希望可以显示一个子菜单,其中包含指向我的 Github/Facebook 帐户等的链接。我该怎么做?
select2上是否可以有多层 optgroup? 基本上,另一个 optgroup 中的 optgroup。 option_1
我有两个下拉分组列表 (Optgroup)。我想使用向右移动、向左移动按钮在这两个 html 控件之间交换元素。我可以从左侧下拉列表项中选择一个或多个元素,然后单击右移按钮。在这种情况下,我可以将所选
在搜索时,如果没有匹配项,该选项将被隐藏,但即使没有子选项匹配,optgroup 仍会显示。如果没有匹配的选项,如何隐藏 optgroup? 我试过这个,这是我试过的代码:jsfiddle $("#u
Error: End tag for 'optgroup' which is not finished. You have probably failed to include a required
为什么这里的optgroup看不到? 显示所有选项,但不显示组名称 http://jsfiddle.net/UCNJ8/ $('').appendTo('body').append('test')
我有一个包含 3 个选项组的选择菜单。最后一个称为“自定义搜索”,当您选择它时,它将触发一个模式来选择不在下拉列表中的用户名并将其添加到数据库中。 长话短说,我想添加一个到optgroup但不太确定该
我所做的只是编辑一些旧代码,我在其中创建了一个选项组,但现在我想将其删除。我不能只用 css 来做到这一点,因为它使用了所选的插件。 function flavorChooser (title, it
我有一个 select 元素,它将显示在移动设备上 Australia Cars Report Australia Bikes Report
大家好,我有下表 -------------------------------------------- |ID|point_name|point_address|point_category| |
我有一个 jQuery 代码,可以从 ul li menu 创建 select。我想从父菜单添加 optgroup,但不知道如何添加。这是我的代码: // Create the dropdown ba
我正在使用 Codeigniter 查询我的数据库并返回一个数据数组。 我有这样一组数据: Array ( [0] => stdClass Object ( [depot_id
我有以下html格式的代码 [choose yours] SubItem2 Item2
我正在尝试向多个optgroup添加一个选项,问题是这个选项只显示在单个optgroup上,我不知道这个机制是不是默认逻辑html 或者我做错了: $(document).ready(function
当代码运行时,下面的标签不会读取空格后的字符串“数据”。我尝试在 optgroup 元素上使用一些 CSS,但它没有对其标签进行任何更改。 var data = "Names of Meters";
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我想创建一个包含分组项目的下拉框。它用于我正在使用的数据库查找 HTML 表单。有没有一种方法可以选择组标题,从而选择该特定组中的所有项目?例如,如果组标题是“German Cars”并且包含项目“M
如何在 select 标签的 optgroup 上添加样式? http://jsfiddle.net/UCNJ8/3/ js: $('').appendTo('body').append('test'
如何从复选框字段中删除 optgroup field($model, 'survey_type')->dropDownList([$surveyTypeList],['prompt'=>'Select
我有一个用于搜索的下拉菜单设置。这个想法是您单击一个选项,然后 OPTGROUP 就会出现。我想做的是,一旦选择了标签,它就会跳转到 OPTGROUP 的该部分。 到目前为止我已经写了一些 jQuer
我是一名优秀的程序员,十分优秀!