Технически, но это немного запутанно. ValidationError
ожидает простой текст, так что вам придется передать его так или иначе. Но вы можете сделать текст самостоятельно, прежде чем подавать его на ValidationError
:
Class GroupForm(forms.ModelForm):
....
def clean_name(self):
from django.template import Context, Template
t = Template('....<a href="{% url edit %}">click here</a>.')
c = Context()
raise forms.ValidationError(t.render(c))
Template.render()
требует контекст, поэтому я просто передал пустой. Но если у вас есть дополнительные переменные и такие, которые вам также нужно отрендерить, вы можете передать их в Context
в виде словаря.
ОБНОВЛЕНИЕ: Как отмечает Дэниел Роузман, это не нужно для URL, так как вы можете просто использовать reverse
, но если вам нужно визуализировать любой другой тип тега, это метод, который вам нужен.