2012-01-19 11 views
5

Digamos que yo quiero la siguiente URL para obtener emparejado con una vista de Django través urls.py: www.mysite.com/cake/#vanilla¿Cómo obtener Django urls.py para reconocer # (hash) en url?

En urls.py que tienen algo como esto:

url('^cake/#.*/$', app.views.view), 

Así que, básicamente quiero todas las URL que comienzan con la raíz: www.mysite.com/cake/#, para ser manejado por esta vista. Sin embargo, las URL de django parecen tratar # como% 23, por lo tanto, todas las URL con raíz www.mysite.com/cake/%23 son tratadas por esa vista. ¿Cómo puedo obtener el signo de almohadilla en url('^cake/#.*/$', app.views.view), para ser tratado como un signo de almohadilla en lugar de un% 23?

¡Gracias por cualquier ayuda!

+8

n-can-do. El hash no se envía al servidor. – AdamKG

+0

aquí hay una pregunta ASÍ QUE explica esto con más detalle: http://stackoverflow.com/questions/3664257/why-the-hash-part-of-the-url-is-not-in-the-server-side – zackdever

Respuesta

3

Necesita obligar a sus usuarios a utilizar IE7 de winetricks. Es el único navegador que tiene el error de enviar el hash y cosas en la solicitud HTTP :)

Si se ha solucionado, entonces debe forzar a sus usuarios a usar IE7 de winetricks de la versión del año pasado.

Como dijo Adam, los navegadores deberían no enviar la parte hash al servidor. El uso del hash en la url es común para sitios web como deezer porque permite al usuario navegar sin tener que volver a cargar la página (toda la navegación se maneja en javascript). Esto permite la navegación sin interupción/recarga del reproductor de música que está en flash.

Si desea habilitar la exploración de hash, entonces usted puede utilizar un plugin como: http://tkyk.github.com/jquery-history-plugin/

Cuestiones relacionadas