改变 HTTP_REFERER 以在 Django 模板中使用

Altering HTTP_REFERER for use in Django template

在 Django 模板中,以下将我带到引用页面:

<a href="{{ request.META.HTTP_REFERER }}">Referring Page</a>

但如果我使用 anchor tags, and the referring page was http://example.com/example/#section7{{ request.META.HTTP_REFERER }} 将不会包含锚点信息。

有什么方法可以更改 {{ request.META.HTTP_REFERER }}(例如,在我的 views.py 中)以便保留锚标记信息?

不,因为锚 # 值永远不会传输到服务器端。跳转到页面的定义部分纯粹是客户端站点的事情。

有点不相关:这就是为什么,几年前,Google 想出了 #!,一个 Google 机器人会抓取的锚标记,而不是像常规的那样忽略# 值。最大的用户是 Twitter,iirc。随着 Javascript 的 pushstate() 成为现实,#! 被遗忘了。

回到主题,服务器永远不会知道任何 ##! 值,因此 HTTP_REFERER 不会包含它。