2017-07-29 75 views
1

以前的网址中的“路径”我知道我可以通过以下获得以前的URL模板:充分利用模板

{{ request.META.HTTP_REFERER}} 

,但我想知道如果我能得到的只是路径,而不是绝对URL (即/我的页面的代替http://localhost:8000/my-page

就像在视图中我们可以这样做:

from urllib import parse 
parse.urlparse(request.META.get('HTTP_REFERER')).path 

我可以在模板中做类似的事吗?

更新(更多信息):我用例是以前的网址与同一站点中的另一个URL进行比较,看是否用户从那里

回答

0

一种可能的方法来在实现这一目标是使用urlparse将组件从引用URL中取出,然后获取相对路径。

如果您有自定义代码处理它这可能不会做太大的差别基本情况,但可能做了一些很好的与票友的边缘情况:

from urlparse import urlparse 
referer = request.META.get('HTTP_REFERER') 
path = urlparse(referer).path 

参见:Parse URLs into components

+0

我在视图中这样做,但想知道是否有直接的方式在模板中做类似的事情 – Anupam

0

看起来有ISN在模板中没有直接的方法,所以这就是我在模板中做的事情,以检查特定(相对)url是否是以前(绝对)URL的一部分:

{% url 'schoollist:add_school' as add_school_url %} 
{% if add_school_url in request.META.HTTP_REFERER %} 
    Thanks for adding! 
{% endif %}