2011-03-08 23 views
5

¿Hay alguna manera de hacer el urldecode en el archivo de plantilla de Django?Django urldecode en el archivo de plantilla

Justo enfrente a urlencode o escape

Quiero convertir app%20llc a app llc

+0

¿Estás seguro de que quieres hacer eso en la plantilla? ¿No debería su vista proporcionar la plantilla con datos perfectos para comenzar? – SingleNegationElimination

+0

¡seguro! porque quiero hacerlo en un bucle para imprimir filas de la tabla en la página de la plantilla –

Respuesta

5

Se puede crear un simple custom filter alrededor urllib.unquote

Por ejemplo:

from django.template.defaultfilters import stringfilter 
from urllib import unquote 

@stringfilter 
def unquote_raw(value): 
    return unquote(value) 

y ahora puede tener esto en tu django archivo de plantilla:

{{ raw|unquote_raw }} 
+0

quiero hacerlo es el archivo de la plantilla no a la vista –

+0

¿me quieres hacer algo así http://docs.djangoproject.com/en/dev/howto/custom-template-tags /? –

+0

gracias, pero esta comilla no es unescaping '&' to '&' –

4

usted tiene que escribir algo como esto en vez de la respuesta anterior de lo contrario obtendrá un nivel de recursividad

from urllib import unquote 

@register.filter 
def unquote_new(value): 
    return unquote(value) 

{{prima | unquote_new}}

Cuestiones relacionadas