在Django自定义MultiWidget中如何获取子窗口小部件ID

时间:2015-06-11 15:41:31

标签: python django python-2.7 django-widget django-multiwidget

在Django中如何获得添加到自定义 MultiWidget 的子窗口小部件的 id ,例如,如果我想要附加JavaScript代码渲染小部件我该怎么办?

1 个答案:

答案 0 :(得分:0)

在常规django自定义窗口小部件中,自动 id 的模式有两个部分,用下划线 id_widget-name 分隔,但在自定义MultiWidget中所有子窗口小部件的id模式包含三个部分 id_widget-name_widget-index ,我们可以使widgets auto-id类似于:

class MyMultiWidget(forms.MultiWidget):
    ...
    def render(self, name, value, attrs=None):
        ids = ['id_%s_%d' % (name, index) for index in range(len(self.widgets))]
        ...