4

在小部件的代码中,我需要访问渲染元素的HTML id。我知道我可以在呈现的字符串上运行 regexp 并获取 ID,但我相信必须有一个简单的方法。

假设这是我拥有的小部件:

class TextInputWithHint(TextInput):
    ...
    def render(self, name, value, attrs):

        res = super(TextInputWithHint, self).render(name, value, attrs = attrs)
        res += mark_safe(u'<script type="text/javascript">alert(%s)</script>' \
        % self.attrs['id'])
        return res

除了那self.attrs['id']不起作用。

有没有简单的方法在这里获取ID?

谢谢!

4

1 回答 1

4

对于您的用例,您可以在传递给id的参数中找到属性。在尝试使用它之前检查它的存在是个好主意:attrsrender()

def render(self, name, value, attrs=None):
  # ...
  if attrs and 'id' in attrs:
    # Use attrs['id']
于 2009-05-14T19:45:56.787 回答