我有一个问题:如何获取网址的当前路径。比方说,我有3个导航栏,关于,博客和联系页面。在每个页面中,我有facebook,twitter和手动电子邮件朋友按钮。当我点击电子邮件朋友按钮,当前网址为www.example.com/about时,当前网址现在已经是www.example.com/emailafriend。我如何获得www.example / about?还有博客和联系方式。请帮我。感谢。
答案 0 :(得分:2)
您的电子邮件如何与朋友按钮配合使用?它是一个django视图,它采用当前的URL和电子邮件吗?如果是这样,您不需要“当前”URL,正如您所注意到的那样,实际上是电子邮件的朋友URL。您要做的是将要共享的URL作为URL参数传递,即:
/share?url=http://www.example.com/blog
根据评论添加更多信息:
当我引用上面的URL时,我没有提到您的django URL配置。我们退一步吧。
在“关于”页面上,您有一个向朋友发送电子邮件的链接,对吧?该链接可能在您的模板中生成,但在每个页面上都是相同的。类似的东西:
<a href="/emailafriend">Email a friend</a>
而不是这样,试试这个:
<a href="/emailafriend?url={{ request.get_full_path }}">Email a friend</a>
现在您需要让您的email_a_friend视图处理此问题。它可以通过
获取网址request.get('url', '').
其他一些信息:
您可能想要转义{{request.get_full_path}}函数以使其转义并保证网址安全,然后您必须在视图中取消它。一旦您将URL返回到您的视图,您就可以随意使用它。
{{ request.get_full_path|urlencode }}
答案 1 :(得分:0)
尝试使用相对网址,例如从www.example.com/about
到www.example.com/email
使用/email
。使用相对URL是最简单的解决方案。
看看this。
答案 2 :(得分:0)
听起来您想要获取引荐网址(将您发送到当前网页的网址)。您可以在请求对象中使用它,尽管它不是100%可靠:
request.META['HTTP_REFERER']
有关详细信息,请参阅documentation on HttpRequest objects。