Джанго: # в URL как персонаж? - PullRequest
1 голос
/ 10 января 2010

Я сделал приложение Django, которое использует теги. Когда я использую тег 'c #' и пытаюсь перенаправить на mysiteaddress / tags / c # на сервере, он перенаправляет на ../tags/c и показывает мне материал, связанный с тегом 'c', но когда я делаю то же самое на моей локальной машине разработки он перенаправляет меня на c% 23 и работает правильно. Что я должен изменить, чтобы он работал на рабочем сервере?

1 Ответ

0 голосов
/ 10 января 2010

Без большего количества кода я не могу быть слишком конкретным, но '#' соответствует escape-последовательности символа% 23, и что-то в вашем коде может потребоваться явно экранировать 'c #', прежде чем помещать его в URL.

Вот фрагмент кода django, который использует URL-цитирование:

http://www.djangosnippets.org/snippets/1159/

Решение вашей проблемы может выглядеть так:

from django.utils.http import urlquote
...
tag = urlquote(tag)
tag_url = base + "tags/" + tag
...
...