Функция uri_to_iri
Функция uri_to_iri преобразует ASCII-строку URI в IRI (Internationalized Resource Identifier) с использованием UTF-8 декодирования. Она применяется к строкам, содержащим процентное кодирование, и возвращает человекочитаемую строку с символами Unicode. Функция обрабатывает как путь URI, так и строку запроса, декодируя все процентно-закодированные последовательности байтов. В качестве аргумента принимает строку URI.
Синтаксис
from django.utils.encoding import uri_to_iri
uri_to_iri(uri)
Пример
Давайте преобразуем URI с кириллическими символами в IRI:
from django.utils.encoding import uri_to_iri
uri = '/articles/%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82/'
iri = uri_to_iri(uri)
print(iri)
Результат выполнения кода:
"/articles/привет/"
Пример
Давайте обработаем URI с пробелами и специальными символами:
from django.utils.encoding import uri_to_iri
uri = '/search?q=%D0%94%D0%B6%D0%B0%D0%BD%D0%B3%D0%BE+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0'
iri = uri_to_iri(uri)
print(iri)
Результат выполнения кода:
"/search?q=Джанго+разработка"
Пример
Давайте преобразуем URI с нелатинскими символами в пути:
from django.utils.encoding import uri_to_iri
uri = '/user/%E6%97%A5%E6%9C%AC%E8%AA%9E/profile/'
iri = uri_to_iri(uri)
print(iri)
Результат выполнения кода:
"/user/日本語/profile/"
Пример
Давайте обработаем URI, содержащий недопустимые байтовые последовательности:
from django.utils.encoding import uri_to_iri
uri = '/%FF/%FE/'
iri = uri_to_iri(uri)
print(iri)
Результат выполнения кода:
"/�/�/"
Смотрите также
-
функция
iri_to_uri,
которая выполняет обратное преобразование IRI в URI -
функция
force_str,
которая принудительно преобразует объект в строку -
функция
smart_str,
которая интеллектуально преобразует объект в строку -
функция
slugify,
которая преобразует строку в URL-дружественный слаг