如何在Python、Django中解码URL到路径
你好,我需要把网址转换成路径,我现在有一个网址,如下所示:
url = u'/static/media/uploads/gallery/Marrakech%2C%20Morocco_be3Ij2N.jpg'
我希望它看起来像这样:
path = u'/static/media/uploads/gallery/Marrakech, Morocco_be3Ij2N.jpg'
谢谢。
3 个回答
1
使用Python 3.9和Django 3.2:
解决方案 1:
import urllib
urllib.parse.unquote(url)
解决方案 2:
from django.utils.encoding import uri_to_iri
uri_to_iri(url)
17
如果你在使用Python3,你可以这样写:
urllib.parse.unquote(url)
32
使用 urllib.unquote
可以解码那些用 %
符号编码的字符串:
>>> 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'
如果你使用 urllib.quote
或者 urllib.quote_plus
,你就可以得到:
>>> urllib.quote(u'/static/media/uploads/gallery/Marrakech, Morocco_be3Ij2N.jpg')
'/static/media/uploads/gallery/Marrakech%2C%20Morocco_be3Ij2N.jpg'