jsbin,在不支持(window.history && window.history.pushState)
的浏览器上,通过window.location.hash = data.edit;
(details here)修改网址。
这会创建像这样的网址
http://jsbin.com/#/imetor/1/edit
如何让django的urls.py处理这样的网址? I am not even sure that the hash is being sent to the server。如果它没有被发送到服务器,那么jsbin用于将这些参数传递给服务器的技术是什么?
FWIW,这不起作用:
url(r'^#/(?P<project_id>[0-9A-Za-z]{6,})', 'mysite.views.project_hash', name='project_hash'),
答案 0 :(得分:1)
你是对的。超过#的部分不会被发送到服务器。
在django中,如果要查看发送到服务器的URL,可以执行
print request.get_full_path()
在jsbin的情况下,服务器返回一个包含javascript代码的页面,然后读取url参数并执行代码以个性化页面。解析url并执行函数的javascript代码示例是Backbone.Router(http://backbonejs.org/#Router)。