k.rozycki
k.rozycki

Reputation: 635

How to decode url to path in python, django

Hi I need to convert url to path, what i got is this url as bellow:

url = u'/static/media/uploads/gallery/Marrakech%2C%20Morocco_be3Ij2N.jpg'

and what to be looked something like this:

path = u'/static/media/uploads/gallery/Marrakech, Morocco_be3Ij2N.jpg'

thx.

Upvotes: 27

Views: 19083

Answers (3)

user16736500
user16736500

Reputation:

with python 3.9 and django 3.2 :

Solution 1 :

import urllib
urllib.parse.unquote(url)

Solution 2 :

from django.utils.encoding import uri_to_iri
uri_to_iri(url)

Upvotes: 2

dtar
dtar

Reputation: 1669

If you are using Python3 you can write

urllib.parse.unquote(url)

Upvotes: 18

falsetru
falsetru

Reputation: 369064

Use urllib.unquote to decode %-encoded string:

>>> import urllib
>>> url = u'/static/media/uploads/gallery/Marrakech%2C%20Morocco_be3Ij2N.jpg'
>>> urllib.unquote(url)
u'/static/media/uploads/gallery/Marrakech, Morocco_be3Ij2N.jpg'

Using urllib.quote or urllib.quote_plus, you can get back:

>>> urllib.quote(u'/static/media/uploads/gallery/Marrakech, Morocco_be3Ij2N.jpg')
'/static/media/uploads/gallery/Marrakech%2C%20Morocco_be3Ij2N.jpg'

Upvotes: 33

Related Questions