import urlparse from django import template register = template.Library() @register.filter def get_full_path(value): """Remove scheme://host:port from url, return the left request part. In some situations, we have to remove scheme://host:port part from url, e.g. when we do the redirect operation, we often get the referer from request.META.HTTP_REFERER, this is a full url like: http://www.site.com:8000/some/page while we just need `/some/page` but not full url, this little snippet will do this work. it remove `http://www.site.com:8000` in above example. """ url = urlparse.urlsplit(value) return urlparse.urlunsplit((0, 0, url[2], url[3], url[4]))