Предполагая, что вы создаете URL-адрес самостоятельно, вы можете использовать quote_plus
для кодирования встроенной косой черты:
>>> '/'.join([urllib.quote_plus(d) for d in ['da/ta1', 'data2']])
'da%2Fta1/data2'
И для декодирования:
>>> urllib.unquote_plus('da%2Fta1/data2')
'da/ta1/data2'
Чтобы затем сопоставить ваши данные, ваш шаблон может быть изменен на конструкцию, найденную ниже.Для первого параметра это соответствует всему, вплоть до символа =
;второй параметр должен быть буквенно-цифровым.
(r'^view/(?P<item_id>[^=]+)=/(?P<changekey>\w+)/$', 'view')