Персидский текст в 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
и затем получить доступ к последнему индексу списка, вы получите правильный результат.