Django-respondive-images не находит файлы, если они не находятся в локальном каталоге
я использую responsive-images https://pypi.org/project/django-responsive-images/. на моем компьютере django работает хорошо, а также django-responsive-images, когда я переношу все на мой сайт responsive images не находит изображений
в моем файле шаблона, если я использую
<img class="card-img-top" srcset="{% srcset item.img 200x400 400x800 nocrop %}"
src="{% src item.img 400x800 nocrop %}" alt="Card image cap">
я получаю эту ошибку, похоже, что файл не найден
FileNotFoundError at /
[Errno 2] No such file or directory: '/code/uploads\\Item\\0\\817_img.jpg'
Request Method: GET
Request URL: http://www.mysite.it/
Django Version: 3.2.5
Exception Type: FileNotFoundError
Exception Value:
[Errno 2] No such file or directory: '/code/uploads\\Item\\0\\817_img.jpg'
Exception Location: /usr/local/lib/python3.9/site-packages/django/core/files/storage.py, line 238, in _open
Python Executable: /usr/local/bin/python
Python Version: 3.9.4
Python Path:
['/code',
'/usr/local/lib/python39.zip',
'/usr/local/lib/python3.9',
'/usr/local/lib/python3.9/lib-dynload',
'/usr/local/lib/python3.9/site-packages']
Server time: Tue, 25 Jan 2022 14:16:46 +0000
но если я не использую отзывчивые изображения, то все работает
<img class="card-img-top" src="{{item.img.url}}" alt="Card image cap">
знаете ли вы, почему это не работает?
ok я нашел решение, возможно это ошибка для django-responsive-images
В некоторых ОС нет проблем, если путь к изображению в базе данных имеет вид:
media\images\myimage.jpg
или
media/images/myimage.jpg
но в других ОС (например, unix в raspberry pi) django-responsive-images работает только если путь имеет значение / поэтому когда он пытается изменить/скопировать изображение, он находит его.
(вместо этого в Windows путь / такой же, как \ )
примечание: для браузеров нет разницы для :<img src="media\images\myimage.jpg"> и <img src="media/images/myimage.jpg">
поэтому в шаблоне, если image.path имеет неправильные слеши, например media\images\myimage.jpg на unix/raspberrypi работает только [1] тег img, а на windows оба работают
[1]<img src="{{item.img.url}}">
[2]<img src="{% src item.img 150x300 nocrop %}">