从 Django 中的 render_field 标记将字符串传递给 javascript 函数

Pass a string to javascript function from render_field tag in Django

当使用普通 html 标签时,我可以将字符串值传递给 javascript 函数 onblur,如下所示:

<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')" %}

如何从 Django 中的 render_field 标记将字符串 'id_lpassword_error' 传递给 javascript 函数?

render_field 正在对该标签进行自己的自定义解析,看起来像 treats double quotes and single quotes the same。所以它可能正在寻找要在您的第一个单引号之后完成的标签。

看起来像使用过滤器 attr should work, since it is using Django's built-in template tag parsing system,它几乎肯定可以正确处理不同类型的引号。

所以,如果我没理解错的话,大概是这样的:

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

如果可行,请告诉我们。