[pyar] [Django] Duda sobre help_text y otras cositas

Daniel Moisset dmoisset en machinalis.com
Vie Mayo 13 12:54:35 ART 2011


2011/5/13 Federico Hoerth <fedehz en gmail.com>:
> Hola gente! como les va?
> Estoy teniendo algunas complicaciones con cosas que aparentemente son
> simples, pero no encuentro una manera de resolverlo.
> Tengo un formulario en el que todos sus campos tienen un help_text.
> Me gustaria que cuando el usuario envia el formulario, si ese campo esta
> vacio (todos los campos son requeridos), poder agregarle un estilo al span
> que genera el help_text.
> Voy a darles un ejemplo a fin que me entiendan un poco mejor:
> # templates/form.html
>                 {{ userForm.username }}<br/>
>                 <span class="helptext">
>                     {{ userForm.username.help_text }}
>                 </span>
>                 {{ userForm.username.errors }}
>
> Cuando se genera un error puede ser por varias razones, una de ellas es
> "required", en ese caso no me interesa mostrar el error, me interesaria
> poder agregarle otra clase al span, como por ejemplo..
>
> <span class="helptext required">
>     {{ userForm.username.help_text }}
> </span>
>
> (No encontré una manera de decirle al template el tipo de error... required, invalid, etc.)

No veo una forma directa de hacer eso, porque el error se mapea al
mensaje antes de que llegue al templaet... pero algo que se me ocurre
que podes hacer es

En el form:

username = forms.CharField(error_messages={'required': 'cssclass:required'})

Y en el template

                 {{ userForm.username }}<br/>
                 <span class="helptext {% userForm.username.errors|to_css %}">
                     {{ userForm.username.help_text }}
                 </span>
                 {{ userForm.username.errors }}

Donde to_css es un filtro que escribis vos, que te busca en una lista
todo lo que empieza con cssclass:, te remueve el prefijo, y joinea con
' '

Saludos,
   D.



More information about the pyar mailing list