Можно ли использовать теги шаблона в строках ValidationError? - PullRequest
2 голосов
/ 20 мая 2010

Мне нужно сгенерировать ValidationError, содержащий якорь.

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

Что мне нужно изменить, чтобы это работало?

Ответы [ 2 ]

3 голосов
/ 20 мая 2010

Почему вы хотите использовать тег шаблона здесь? Теги шаблона предназначены для использования в шаблонах. Если вы хотите найти обратный URL, используйте функцию reverse.

0 голосов
/ 20 мая 2010

Первое: просто не делай этого! Поместите HTML-код на место: в шаблон.

Второе: вы можете сделать это с помощью

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

Но HTML-теги будут экранированы, если вы не отметите их как безопасные в своем шаблоне.

...