Почему Django отображает скрытые строки для URL-адресов фотографий? - PullRequest
0 голосов
/ 03 апреля 2011

По какой-то причине, Django, кажется, отображает экранированные строки URL моего ImageField. См. Ниже ( ImageWithThumbsFieldFile использует закулисное ImageField, и я также протестировал его с обычным ImageField, и проблема все еще существовала.)

>>> from … import UserProfile
>>> u = UserProfile.objects.get(pk=1)
>>> u
<UserProfile: johnny's profile>
>>> u.profile_picture
<ImageWithThumbsFieldFile: /static/img/profile_picture.png>
>>> u.profile_picture.url
'http://mysite.com/%2Fstatic%2Fimg%2Fprofile_picture.png'

Обратите внимание на выход в URL. Теперь, когда я запрашиваю базу данных MySQL:

mysql> select * from ..._userprofile;
+----+---------+---------------------------------+------+
| id | user_id | profile_picture                 | bio  |
+----+---------+---------------------------------+------+
|  1 |       1 | /static/img/profile_picture.png | NULL |
|  2 |       2 | /static/img/profile_picture.png |      |

URL не сохраняется как таковой. Поэтому я не считаю, что проблема заключается в данных, хранящихся в базе данных (по умолчанию используется URL).

Я пытался сбежать с

|safe 

и

{% autoescape off %} {% autoescape end %}

безрезультатно. Моя установка - Django 1.2.3 с MySQL, работающим под Apache mod_wsgi. Приложение работает на моем промежуточном сервере под той же самой установкой без проблем (также Apache и MySQL). Но поскольку в оболочке Python экранированные символы отображаются, я не верю, что причиной является база данных или сервер. Хороший сервер работает под управлением Python 2.7, а плохой сервер работает под управлением Python 2.6.6 (по независящим от меня причинам ... хотя я сомневаюсь, что это тоже проблема).

Есть идеи, как это исправить?

1 Ответ

0 голосов
/ 06 апреля 2011

Насколько я могу судить, это связано с тем, что в Amazon S3 нет папок.По какой-то причине приложение django-storages выводит URL-адреса таким образом.Я думал, что это неправильно, но изображения работают.Просто странно видеть такие URL.

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