在wtform docuentation中,以下函数被描述为可以将SelectMultipleField呈现为复选框集合的小部件:
def select_multi_checkbox(field, ul_class='', **kwargs):
kwargs.setdefault('type', 'checkbox')
field_id = kwargs.pop('id', field.id)
html = [u'<ul %s>' % html_params(id=field_id, class_=ul_class)]
for value, label, checked in field.iter_choices():
choice_id = u'%s-%s' % (field_id, value)
options = dict(kwargs, name=field.name, value=value, id=choice_id)
if checked:
options['checked'] = 'checked'
html.append(u'<li><input %s /> ' % html_params(**options))
html.append(u'<label for="%s">%s</label></li>' % (field_id, label))
html.append(u'</ul>')
return u''.join(html)
我试着用这个作为一个例子,看看它在我的一个表单中是什么样子的。但是我遇到了一些麻烦,我不知道如何调用它,因为我只习惯于使用默认字段。这就是我所尝试的:
^{pr2}$这给了我以下错误:
line 52, in select_multi_checkbox
field_id = kwargs.pop('id', field.id)
AttributeError: 'UnboundField' object has no attribute 'id'
我的下一个迭代是:
my_checkbox_multi_select = select_multi_checkbox(SelectMultipleField,ul_class='',choices=my_choices,id='test')
这也给了我一个关于id属性的错误,但是这个字段不再是无界的。在
line 52, in select_multi_checkbox
field_id = kwargs.pop('id', field.id)
AttributeError: type object 'SelectMultipleField' has no attribute 'id'
我想知道什么是正确的方法来实现这一点。我看到它是一个函数,所以我认为它需要在一个字段上调用,但我不确定我做错了什么。在
所以我想明白了。我猜是在文件里,但我一时不清楚。这是我所做的渲染这个领域。我想这应该是显而易见的,但如果有人在这里寻找这个,它是:
把它称为一个小部件。很简单。我真希望我早一点把它放在一起。在
相关问题 更多 >
编程相关推荐