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

时间:2018-10-16 04:18:42

标签: javascript django django-widget-tweaks

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

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

1 个答案:

答案 0 :(得分:0)

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

使用过滤器attr似乎可行,因为它是using Django's built-in template tag parsing system,几乎可以肯定可以正确处理不同类型的报价。

因此,如果我理解此权利,则类似:

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

让我们知道是否可行。