Найти - Пользователи
Полная версия: django и изображения
Начало » Django » django и изображения
1 2
dbalor
Здравствуйте,

На локальном компе линукс.

Картинки хранятся в базе к примеру : /media/img.jpg

При выводе в шаблоне картинки не отображаются.
В шаблоне при выводе создается тэги изображений:
<img src='/media/img.jpg' width='220' height='220' />

Как в django на локальном компе отображать картинки?

Структура приложения:
media #здесь находятся загруженные картинки
rest
node
node/templates/node.html #здесь выводим картинки
Papa_Svin
dbalor
Картинки хранятся в базе к примеру : /media/img.jpg
И вот это прям картинка? Можно скопировать, вставить в файл с расширением *.jpg и будет картинка?
dbalor
Papa_Svin
И вот это прям картинка? Можно скопировать, вставить в файл с расширением *.jpg и будет картинка?

Картинки загружаются через админку и кидаются в папку media, а в базе хранится путь к картинке.

При выводе шаблона путь берется из базы и вставляется в тэг img:

<img src=“{{ case.photo }}” width='220' height='220' />
Papa_Svin
dbalor
а в базе хранится путь к картинке.
Да я это знаю , а вот вы знаете или нет - непонятно, если пишите так как пишите.

https://docs.djangoproject.com/en/2.1/howto/static-files/#serving-files-uploaded-by-a-user-during-development
dbalor
Papa_Svin
Да я это знаю , а вот вы знаете или нет - непонятно, если пишите так как пишите.

Да знаю я просто пишу конечный результат когда загружается страница

вот как я делаю:
               <img src="{{ t.photo }}" width="200" height="200" alt="{{ t.tname }}"/>
Papa_Svin
dbalor
Если ссылка в теге правильная, но браузер получает 404 вместо изображения, это означает лишь то, что никакой сервер не обрабатывает запросы на этот адрес. Есть у вас media в urlpatterns?
dbalor
Да есть:

settings.py:

 MEDIA_URL = '/media/'
MEDIAFILES_DIRS=(
   os.path.join(BASE_DIR, 'media'),
)

в url.py
 from django.conf import settings
from django.conf.urls.static import static
...
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Papa_Svin
Хм…..
Что показывает браузер, если в строке адреса набрать?
 http://localhost:8000/media/img.jpg
dbalor
Ошибка 404

 Page not found (404)
Request Method: 	GET
Request URL: 	http://127.0.0.1:8000/media/img.jpg
Raised by: 	django.views.static.serve
"/home/mirkul/djprj/resp/img.jpg" 
не существует

почему-то /media/ в пути пропускается
Papa_Svin
А что у вас в settings.MEDIA_ROOT?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB