Django, получить объект с пробелами вместо% 20 [duplicate]

Это означает, что вы пытаетесь манипулировать тем, что имеет ссылку, но еще не инициализировано. Первое, что нужно сделать, это проверить каждый созданный экземпляр. Используйте контрольные точки, часы, проверяйте свои значения varibale. Следить за трассировкой стека и искать точные строки и столбцы, которые создают проблему

51
задан Björn Pollex 15 November 2011 в 15:12
поделиться

5 ответов

Официальные документы.

urllib.unquote( string )

Заменить %xx escape на их односимвольный эквивалент.

Пример: unquote('/%7Econnolly/') дает '/~connolly/'.

И затем просто декодирует.


Обновить : Для Python 3 напишите следующее:

urllib.parse.unquote(url)

Python 3 docs.

93
ответ дан Serzhan Akhmetov 3 September 2018 в 17:56
поделиться

или urllib.unquote_plus

>>> import urllib
>>> urllib.unquote('erythrocyte+membrane+protein+1%2C+PfEMP1+%28VAR%29')
'erythrocyte+membrane+protein+1,+PfEMP1+(VAR)'
>>> urllib.unquote_plus('erythrocyte+membrane+protein+1%2C+PfEMP1+%28VAR%29')
'erythrocyte membrane protein 1, PfEMP1 (VAR)'
9
ответ дан dli 3 September 2018 в 17:56
поделиться

Вы можете использовать urllib.unquote

6
ответ дан Klaus Byskov Pedersen 3 September 2018 в 17:56
поделиться
import re

def unquote(url):
  return re.compile('%([0-9a-fA-F]{2})',re.M).sub(lambda m: chr(int(m.group(1),16)), url)
3
ответ дан mistercx 3 September 2018 в 17:56
поделиться

И если вы используете Python3, вы можете использовать:

urllib.parse.unquote(url)
19
ответ дан Vladir Parrado Cruz 3 September 2018 в 17:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: