Login

Remove scheme, host and port from url

Author:
twinsant
Posted:
March 8, 2007
Language:
Python
Version:
Pre .96
Score:
2 (after 2 ratings)

See doc for more information.

 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. Template tag - list punctuation for a list of items by shapiromatron 10 months, 1 week ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 2 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
  5. Help text hyperlinks by sa2812 1 year, 6 months ago

Comments

Please login first before commenting.