Передать строку в функцию javascript из тега render_field в Django

Я могу передать строковое значение javascript функция onblur при использовании равнины html отметьте как показано ниже:

<input type="password"  name="l_password" onblur="passwordValidation(this,'id_lpassword_error')" />

но когда я пытаюсь сделать то же самое для render_field Теги это не работает. я получаю ошибку TemplateSyntaxError: Could not parse the remainder

{%render_field form.password onblur="passwordValidation(this,'id_lpassword_error')" %}

как я могу передать строку 'id_lpassword_error' к javascript функция из тега render_field в Django?

1 ответ

Решение

render_field выполняет собственный анализ этого тега, и похоже, что он одинаково обрабатывает двойные и одинарные кавычки. Так что, вероятно, поиск тэга завершится после вашей первой одинарной кавычки.

Похоже, что использование фильтра attr должно работать, поскольку он использует встроенную в Django систему синтаксического анализа тегов шаблонов, которая почти наверняка может правильно обрабатывать различные типы кавычек.

Итак, если я правильно понимаю, что-то вроде:

{{form.password|attr:"onblur:passwordValidation(this,'id_lpassword_error')" }}

Дайте нам знать, если это работает.

Другие вопросы по тегам