我需要从具有不同方案的网址中删除域名。 网址示例:
http://www.example.org/cat1/page1
example.org/cat1/page1
https://www.example.org/cat1/page1
结果:
cat1/page1
可以在django模板或视图上完成。
答案 0 :(得分:2)
使用urlparse
模块:
>>> from urlparse import urlparse
>>> o = urlparse('http://www.example.org/cat1/page1')
>>> o.path
'/cat1/page1'
请注意,example.org/cat1/page1
是有效路径,因此您无法从中删除该域。作为解决方法,您可以手动将协议添加到url字符串:
>>> url = 'example.org/cat1/page1'
>>> if not '//' in url:
... url = 'http://' + url
...
>>> o = urlparse(url)
>>> o.path
'/cat1/page1'
答案 1 :(得分:0)
请求对象也有以下信息:
https://docs.djangoproject.com/en/1.7/ref/request-response/#module-django.http
HttpRequest.path 一个字符串,表示所请求页面的完整路径,不包括域。
示例:“/ music / bands / the_beatles /”
这将让您获取当前页面的路径,因此它可能无法在您的情况下使用