Как заставить Django urls.py распознавать # (хэш) в URL? - PullRequest
5 голосов
/ 19 января 2012

Допустим, я хочу, чтобы следующий URL совпал с представлением django через urls.py: www.mysite.com/cake/#vanilla

В urls.py У меня есть что-то вроде этого:

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

Итак, я хочу, чтобы все URL, начинающиеся с root: www.mysite.com/cake/#, обрабатывались этим представлением. Однако URL-адреса django, по-видимому, обрабатывают # как% 23, поэтому вместо этого все URL-адреса с корнем www.mysite.com/cake/%23 обрабатываются этим представлением. Как я могу получить хеш-знак в url('^cake/#.*/$', app.views.view ), который будет обрабатываться как настоящий хеш-знак вместо% 23?

Спасибо за любую помощь!

1 Ответ

3 голосов
/ 19 января 2012

Вы должны заставить своих пользователей использовать IE7 из winetricks.Это единственный браузер, в котором есть ошибка отправки хэша и прочее в HTTP-запросе:)

Если это было исправлено, вам нужно заставить своих пользователей использовать IE7 из winetricks прошлогодней версии.

Как сказал Адам, браузеры должны , а не отправлять хэш-часть на сервер.Использование хэша в URL-адресе является обычным явлением для таких сайтов, как deezer, поскольку оно позволяет пользователю перемещаться без перезагрузки страницы (вся навигация выполняется в javascript).Это позволяет осуществлять навигацию без прерывания / перезагрузки музыкального проигрывателя, работающего во флэш-памяти.

Если вы хотите включить просмотр по хешу, вы можете использовать такой плагин, как: http://tkyk.github.com/jquery-history-plugin/

...