Remove scheme, host and port from url

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
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]))

More like this

  1. LanguageField by marinho 6 years, 4 months ago
  2. Admin list thumbnail by theetderks 6 years, 11 months ago
  3. Frequently used tags/filters for Jinja2 by mathwizard 5 years, 7 months ago
  4. Add example contact with BaseCommand by magik_cypress 1 year, 8 months ago
  5. Add example content with BaseCommand by magik_cypress 1 year, 8 months ago

Comments

(Forgotten your password?)