在django helptext字段中放置带有onClick属性的链接

时间:2015-02-25 10:00:31

标签: javascript jquery python django

我有一个模型表格

class RegularUserFormStep1(ModelForm):

class Meta:
    model = RegularUser
    fields = ('school', 'grad_date',)
    help_texts = {'school':mark_safe("<a id='school_add' href = '#' onClick='ModalToggle('{% url 'schools_add' %}','{% url 'schools_add' %}','#form','Add school'); return false;' >Add</a>")}

但是当我尝试点击链接时, 我得到了Uncaught SyntaxError:Unexpected token}

所以,我想问一下在字段帮助文本中嵌入包含django模板变量的链接的正确方法是什么。

1 个答案:

答案 0 :(得分:1)

该字符串不被视为Django模板,因此您无法使用url模板标记。

而不是

{% url 'schools_add' %}

您可以使用reverse获取网址

schools_add_url = reverse('schools_add')

然后将其替换为你的字符串。

help_texts = {
    'school': mark_safe(
        "<a id='school_add' href = '#' onClick='ModalToggle('%s','%s','#form','Add school'); return false;' >Add</a>" % (schools_add_url, schools_add_url)
    )
}

使用mark_safe获取帮助文字时,请务必小心。在这种情况下,您不包括用户的任何内容,所以没关系。