Django - urls.py - Имена файлов со знаком хеш / фунт (#)? - PullRequest
3 голосов
/ 04 апреля 2010

Я использую django и понял, что когда имя файла, к которому пользователь хочет получить доступ (скажем, фотография), имеет знак решетки, запись в url.py не совпадает.

Есть идеи?

    url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root':
    MEDIA_ROOT},

это просто говорит:

"/home/user/project/static/upload/images/hello" does not exist

когда на самом деле имя файла:

hello#world.jpg

Спасибо, Нико

1 Ответ

10 голосов
/ 04 апреля 2010

Это на самом деле не ошибка Джанго - знак фунта (#) в URL означает загрузку указанного якоря на странице. Вам нужно закодировать знак фунта в вашем URL, чтобы браузер запросил полный путь к изображению:

/home/user/project/static/upload/images/hello%23world.jpg

В шаблоне Django вы можете использовать тег шаблона urlencode .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...