当我使用django的评论框架发表评论时,我有一个隐藏的next
值集,希望一旦评论发布,它将使用户查看他们自己的评论。 next
字段呈现如下:
<input type="hidden" name="next" value="http://example.com/item/1#c23" />
但是,当发布评论时,django会在网址的末尾添加?c=23
,以便用户重定向到的完整形成的网址变为:
http://example.com/item/1#c23?c=23
在Firefox和Safari(简短测试)中,这可以防止页面向下移动到正确的id=23
,并且只显示页面的顶部(我希望它显示刚刚发布的评论)。删除?c=23
修复问题(手动),但我不知道如何告诉Django停止添加它。
想法?
答案 0 :(得分:1)
不是你的问题的解决方案,但只是想补充说这是Django中的一个错误。如果你可以为它开票,那就太好了。
对于1.1,似乎ticket 10585处理next
值中已存在的查询字符串。也就是说,如果next
为http://example.com/item/1?a=1
,那么在发布评论后它会变为http://example.com/item/1?a=1?c=23
。代码更改看起来非常简单,因此您甚至可以自己提供补丁。
2011年2月27日更新 :看起来ticket 13411附有补丁!
答案 1 :(得分:0)
此jQuery行允许您更改当前URL:
$(this).attr("href", "NEW_URL");
用新网址替换 NEW_URL 。您可以使用问号拆分http://example.com/item/1#c23?c=23,然后使用数组的第一部分作为新网址。