widget.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:wtforms-lightmagic 作者: tornado-lightmagic 项目源码 文件源码
def __call__(self, field, **kwargs):

        if isinstance(field.data, (list, tuple)):
            def compare(val):
                return val in field.data
        else:
            def compare(val):
                return val == field.data

        kwargs.setdefault('id', field.id)
        if self.multiple:
            kwargs['multiple'] = True
        html = ['<select %s>' % html_params(name=field.name, **kwargs)]
        for item1, item2 in field.choices:
            if isinstance(item2, (list, tuple)):
                group_label = item1
                group_items = item2
                html.append('<optgroup %s>' % html_params(label=group_label))

                for inner_val, inner_label in group_items:
                    html.append(self.render_option(inner_val, inner_label, compare(inner_val)))
                html.append('</optgroup>')
            else:
                val = item1
                label = item2
                html.append(self.render_option(val, label, compare(val)))
        html.append('</select>')
        return HTMLString(''.join(html))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号