Сериализатору необходим контекст в формате dict
, но вы предоставляете ReturnList
, сгенерированный renderer_classes.
Я не получил, если вам нужно ListView
, тогда зачем вы используете ListAPIView
? вы явно визуализируете шаблон вместо JSON. Поэтому, пожалуйста, укажите конкретную причину, по которой вам нужно это сделать, чтобы каждый мог понять, чего вы пытаетесь достичь.
Я предполагаю, что вы хотите использовать контекст this, потому что один и тот же обработчик будет иметь дело с несколькими возможными объектами. В этом случае посмотрите отличный сценарий AddEvent из конкурса перекодирования quirksmode. ( http://www.quirksmode.org/blog/archives/2005/09/addevent_recodi.html ). Этот код позволил мне извлечь из html последний из моих javascript. Что еще более важно, похоже, он работает во всех протестированных мной браузерах. Просто и компактно.
Короткий ответ: используйте jQuery.
Хотя event.currentTarget
есть недоступно в IE, jQuery нормализует событие для вас, поэтому ваш код также будет работать в IE (как указано здесь )
Обратите внимание, что использование event.srcElement
, как предлагается в другие ответы не эквивалентны, поскольку srcElement
соответствует target
, а не currentTarget
, как объяснено в конце эта страница .