是否可以在ValidationError的字符串中使用模板标签?

时间:2010-05-20 13:50:27

标签: python django validation django-templates django-forms

我需要抛出包含锚点的ValidationError。

if not profile.activated():
    raise ValidationError('Your profile is not activated. <a href="{% url resend_activation_key %}">Resend activation key</a>.')

我需要修改哪些才能使其正常工作?

2 个答案:

答案 0 :(得分:3)

为什么要在此处使用模板标签?模板标签用于模板。如果要查找反向URL,请使用reverse功能。

答案 1 :(得分:0)

首先:不要这样做!将HTML代码放在模板中。:

第二:你可以用

做到这一点
from django.template import Context, Template
t = Template(u"Your profile is not.... {% url blah %} ...")
raise ValidationError( t.render(Context())

但是,除非您在模板中将其标记为安全,否则html标记将被转义。