Персидский текст в url djngo

У меня есть несколько ссылок, которые содержат персидские тексты, например:

http://sample.com/fields/طب%20نظامی

и в функции просмотра я хочу получить доступ к персидской части, так:

request.path_info
key = re.findall('/fields/(.+)', url)[0]

и я получаю ошибку:

IndexError at /fields/
list index out of range

На самом деле, проблема заключается в нулевом индексе, потому что он не видит там ничего! Следует отметить, что это проект Django на IIS Server и я успешно тестировал его с другими серверами и локальным сервером. Я думаю, что это как-то связано с IIS. Кроме того, я безуспешно пытался кодировать url. Я могу успешно кодировать урлы, но я думаю, что это не является фактическим ответом на этот вопрос.

Вы можете сделать это с помощью метода python split()

url = "http://sample.com/fields/طب%20نظامی"
url_key = a.split(sep="/", maxsplit=4)
url_key[-1]
output : 'طب%20نظامی'

в этом мы разбиваем строку url на /, которая встречается 4 раза в строке, поэтому она вернет нам список строк следующим образом

['http:', '', 'sample.com', 'fields', 'طب%20نظامی']

затем мы должны сохранить его в новой переменной в нашем случае я сохранил его в url_key и затем получить доступ к последнему индексу списка, вы получите правильный результат.

Вернуться на верх