2012-01-19 14 views
5

Diciamo che voglio il seguente URL per ottenere abbinato con una vista django attraverso urls.py: www.mysite.com/cake/#vanillaCome ottenere Django urls.py per riconoscere # (hash) in url?

In urls.py ho qualcosa di simile a questo:

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

Quindi, fondamentalmente voglio tutti gli URL che iniziano con la radice: www.mysite.com/cake/#, da gestire con questa vista. Tuttavia, gli URL di django sembrano trattare # come% 23, quindi tutti gli URL con radice www.mysite.com/cake/%23 vengono gestiti da tale visualizzazione. Come posso ottenere che l'hash firmi in url('^cake/#.*/$', app.views.view), da trattare come un vero e proprio cancelletto invece di un% 23?

Grazie per qualsiasi aiuto!

+8

No-can-do. L'hash non viene inviato al server. – AdamKG

+0

ecco una domanda SO che spiega questo in modo più dettagliato: http://stackoverflow.com/questions/3664257/why-the-hash-part-of-the-url-is-not-in-the-server-side – zackdever

risposta

3

È necessario forzare gli utenti a utilizzare IE7 da winetricks. È l'unico browser che ha l'errore di inviare l'hash e roba nella richiesta HTTP :)

Se è stato corretto, è necessario forzare gli utenti a utilizzare IE7 da winetrick della versione dello scorso anno.

Come dichiarato da Adam, i browser devono non inviare la parte hash al server. L'uso dell'hash nell'URL è comune per i siti web come deezer perché consente all'utente di navigare senza ricaricare la pagina (tutta la navigazione è gestita in javascript). Ciò consente la navigazione senza interruzione/ricarica del lettore musicale che è in flash.

Se si desidera attivare la navigazione hash, quindi è possibile utilizzare un plugin come: http://tkyk.github.com/jquery-history-plugin/

Problemi correlati