В документации Django есть [хороший раздел] по обработке строк с данными не-ASCII в URL. В частности, он представляет следующий пример того, как преобразовать строки Unicode для использования в URL:
>>> urlquote(u'Paris & Orléans')
u'Paris%20%26%20Orl%C3%A9ans'
>>> iri_to_uri(u'/favorites/François/%s' % urlquote(u'Paris & Orléans'))
'/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans'
Однако, похоже, нет указаний на то, как выполнить обратное преобразование!
Предполагая, что мое приложение получает URL /favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans
, как мне сопоставить его с /favorites/François/
и Paris & Orléans
?
Нет функции django.utils.encoding.uri_to_iri
для дополнения django.utils.encoding.iri_to_uri
и django.utils.http.urlunquote
для дополнения django.utils.http.urlquote()
!
Примечание
Если это поможет, я использую Django 1.2 вместо
- Python 2.5, Debian Linux 32-bit
- Python 2.6, Windows 7 64-bit.