* Daniel Gerzo <dge...@gmail.com> [2011-04-25 13:07:46 +0200]:
> On 25.4.2011 12:40, Kane Dou wrote:
> >* Daniel Gerzo<dge...@gmail.com> [2011-04-24 17:52:13 +0200]:
> >
> >>Hello all,
> >>
> >>say I have a following form:
> >>
> >>class MyForm(forms.Form):
> >> id = forms.IntegerField(max_length=9)
> >> language = forms.CharField(max_length=10)
> >> file = forms.FileField()
> >>
> >>And a following pseudo clean method:
> >>
> >> def clean(self):
> >> for file in self.files.values():
> >> if file_exists(file):
> >> raise forms.ValidationError('We already have this
> >>filehere')
> >> return self.cleaned_data
> >>
> >>So I want to display a URL in the error message. The text is
> >>displayed fine, but the URL is being escaped by Django and thus is
> >>not clickable. Is there some way to disable it for this specific
> >>case?
> >>
> >>The form is being rendered like:
> >>
> >> >>id="upload">{% csrf_token %}
> >>
> >> {{ form.as_table }}
> >> >>/>
> >>
> >>
>
> >
> >You may check the 'safe'[1] filter
> >
> >
> >[1] http://docs.djangoproject.com/en/1.3/ref/templates/builtins/#safe
>
> Hello Kane,
>
> thanks for your reply. I already tried |safe previously, as
>
> {{ form.as_table|safe }}
>
> but that doesn't work, the hyperlink is still being escaped. Maybe I
> need to do something else in this case?
>
> I even tried:
>
> {% autoescape off %}
> {{ form.as_table }}
> {% endautoescape %}
>
> Doesn't work either. Maybe the validation errors are being escaped
> prior they being passed to the template itself? How can I turn that
> off?
>
> Thanks.
>
Try to render the form in separate parts:
{{ form..label }}
{{ form..errors|safe }}
{{ form. }}
This works, but I'm not sure if this is a good or right practice.
--
Kane
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.