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 に答える