Django добавление слов к url изображения
Я хочу загрузить изображение в мой шаблон, используя:
<img src="{{ item.pic }}">
Иногда он работает нормально, но как только я начинаю делать это из представления, он добавляет путь этого представления к моему src изображения автоматически, в результате чего изображение не загружается.
Я хочу, чтобы это было
src="images/item.jpg"
например, но из-за различных взглядов это может закончиться как
"view1/images/item.jpg"
или
"anotherview/images/item.jpg"
приводит к тому, что Django не может найти изображение. Есть ли способ закодировать это так, чтобы имена представлений не добавлялись в src?
Вам следует использовать абсолютный URL, вы можете сделать это с помощью:
<img src="/{{ item.pic }}">
Обычно, если это FileField
(или ImageField
, который является подклассом FileField
), вы можете позволить Django определить URL с помощью:
<img src="{{ item.pic.url }}">
В этом случае Django будет использовать MEDIA_URL
[Django-doc] и также будет обслуживать эти файлы. На производстве вам нужно будет настроить веб-сервер, такой как Apache, Nginx и т.д.; или позволить сети доставки контента (CDN) обслуживать эти файлы.