在我的django应用程序中,我将URLS.PY配置为接受对/ community / user / id和/ community / user / id /的请求:
url(r'^(?P<username>[\w-]+)/(?P<cardId>\d+)/$', 'singleCard.views.singleCard', name='singleCardView'),
我这样做有时人们会添加一个结尾“/”而我不想提出404。
然而,我的javascript应用程序的某些部分有时会以以下形式添加锚标记:
/community/user/id#anchorIuseInJavscriptToDoSomething
我遇到的问题是Django会立即将URL重写为:
/community/user/id/
带结尾/并删除#anchorIuseInJavscriptToDoSomething
我喜欢把它重写为:
/community/user/id#anchorIuseInJavscriptToDoSomething/
这样我页面中的javascript仍然可以看到锚点和工作。怎么能适应这个正则表达式来做到这一点?我不是很擅长正则表达式,并且通过示例学习了这个......
答案 0 :(得分:2)
你可以使尾随斜线可选:
url(r'^(?P<username>[\w-]+)/(?P<cardId>\d+)/?$', 'singleCard.views.singleCard', name='singleCardView'),
答案 1 :(得分:0)
浏览器应该在重定向后处理重新附加锚点。你的问题与Django无关。
答案 2 :(得分:0)
为什么要将其更改为/community/user/id#anchorIuseInJavscriptToDoSomething/
?这是无效的。它应该是/community/user/id/#anchorIuseInJavscriptToDoSomething
。散列后的元素不是URL的一部分,也不会发送到服务器。