2010-09-09 13 views
20

En Django lo que es el patrón de URL que necesito utilizar para manejar caracteres urlencode como% 20Django para% 20

estoy usando (?P<name>[\w]+) pero esto sólo se ocupa de caracteres alfanuméricos de modo% está causando un error

Respuesta

25

Pude hacerlo funcionar usando la configuración dada a continuación. Verifica si se adapta a tus necesidades.

(?P<name>[\w|\W]+) 
+0

+1 Sí, sí, es un espacio, no un porcentaje ... mi culpa. –

+1

¿no coincide esto con todos los caracteres de las palabras y todos los caracteres que no son palabras? no sería '.' mucho más fácil – JKirchartz

+0

@JKirchartz Es equivalente en mi humilde opinión, pero también igual de peligroso por la misma razón. –

20

Si sólo desea dejar espacio:

(?P<name>[\w\ ]+) 
+0

¡Gracias! Esto funcionó para mí. – Jake

+0

Mucho mejor que permitir todos los caracteres que no sean palabras. Gracias. –

+0

Esa es la mejor respuesta, creo: la más restrictiva, pero aún permite espacio –

1

La mejor manera de hacer eso y permitir que otros caracteres es usar '\ s', es decir los espacios, tabulaciones y nuevas líneas

(?P<name>[\w\s]+) 
+0

% 20 es espacio, no me gustaría t permitir pestañas o líneas nuevas o líneas nuevas y suaves, etc. –

Cuestiones relacionadas