如何在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
表格
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'),
)
),
)
我试图在点击时更改标记的图标编号。我使用的是角度谷歌地图。我正在使用本地资产文件夹而不是服务API设置iNurl。 单击标记时,如何更改上述图标。
您可以在当前光标处作一个标记,以便快速返回 m标记名称 定义标记。标记名称为一个字符 `标记名称 返回标记 mx 将当前光标处定义为标记 x `x 返回标记 x :marks 查看标记列表
如果我将.icon替换为.seticon,那么整个新的MarkerOptions()都是红色的,并且我得到了这个错误,不能在原语类型void上调用title(String)。我该怎么办?
问题内容: 在阅读有关标记接口的信息时,我偶然发现了以下站点:项目37:使用标记接口定义类型 在这里,根据Joshua Bloch的说法,标记接口比标记注释有两个优点。 1. 标记接口定义了一种由标记的类的实例实现的类型。标记注释没有。这种类型的存在使您可以在编译时捕获错误,而如果使用标记注释,则这些错误在运行时才捕获。 2. 标记接口相对于标记注释的另一个优点是可以更精确地定位它们。如果使用ta
我有一个任务,需要在web应用程序内部的几个页面上添加一些标记。文本已经存在,但包装在其他标签中,我需要将其转换为h1标签。当我这样做的时候,我需要在页面上保持相同的设计,所以设计明智,什么都不应该改变。我们需要谷歌机器人的h1标签。 让我在下面给你展示一个例子。目前我有一页是这样的: null null 我需要在那里插入。我在internet上读到,在中添加不是一个好主意,因为我的第一个想法是用
我实际上正在用Java开发一个文本解析器,有人要求我通过用它解析HTML来增强它。解析器的目的是将被解析的文件分成另外三个文件,一个包含文件中包含的所有单词,一个包括所有句子,另一个包含所有问题。 *.txt部分工作得很好,但我在解析HTML时遇到了一个问题。 我创建了一个扩展名为*.txt的临时文件,并将其在我的文本解析器中传递,但是如果我传递一个带有HTML文件链接的URL,其格式如下所示:
在阅读有关标记接口的内容时,我偶然发现了以下网站:第37项:使用标记接口定义类型 根据Joshua Bloch的说法,标记接口比标记注释有两个优点。 > 标记接口定义由标记类的实例实现的类型;标记注释没有。这种类型的存在允许您在编译时捕获错误,如果您使用标记注释,则直到运行时才能捕获这些错误。 与标记注释相比,标记接口的另一个优点是可以更精确地定位它们。如果使用target,它可以应用于任何类或接
!include MUI.nsh OutFile SetCursorMUI.exe # Pages... !define MUI_COMPONENTSPAGE_NODESC !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI