如何让Django urls.py识别url中的#(hash)?

时间:2012-01-19 19:47:15

标签: regex django url hash django-urls

假设我想通过urls.py将以下网址与django视图匹配:www.mysite.com/cake/#vanilla

urls.py我有这样的事情:

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

所以基本上我希望所有以root:www.mysite.com/cake/#开头的网址都由此视图处理。但是,django网址似乎将#视为%23,因此所有具有根www.mysite.com/cake/%23的网址都由该视图处理。如何在url('^cake/#.*/$', app.views.view )中获取哈希符号,将其视为实际哈希符号而不是%23?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您需要强制用户使用winetricks中的IE7。它是唯一一个在HTTP请求中发送散列和填充错误的浏览器:)

如果已经修复,那么你需要强迫你的用户使用去年版本的winetricks中的IE7。

正如Adam所说,浏览器将散列部分发送到服务器。在url这样的网站中使用网址中的哈希是常见的,因为它允许用户在不重新加载页面的情况下导航(所有导航都在javascript中处理)。这允许导航而不会闪存中的音乐播放器的中断/重新加载。

如果要启用哈希浏览,则可以使用以下插件:http://tkyk.github.com/jquery-history-plugin/