Найти - Пользователи
Полная версия: Django. URL, media настройки для отображения img
Начало » Django » Django. URL, media настройки для отображения img
1
Xa_xoo
Добрый день. Pyhon 3, django 1.8, pillow установлен Есть модель с ImageField. Нужно отобразить на странице картинку из модели. Мне кажется я напутал в сеттингсах(вообще я новичек и с картинками первый раз работаю).

tovar_img = models.ImageField(upload_to='uploads', default='/img/tovar.jpg')

во вьюхе подгружаю все объекты из модели и передаю как

{{ tovar.tovar_img }}

вместо картинок получаю путь: при дефолте /static/tovar.jpg | при заданной ./tovar1.jpg

Помогите сформировать сеттингс пути верно, чтобы подгружать и загружать картинки в одну папку , ну и соответственно чтобы они отображались…

STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static', 'uploads')
MEDIA_URL = '/uploads/'
STATICFILES_DIRS = [ ('static', 'C:/Python34/mynewage/static'), ]
FishHook
Статика - от слова “статичный”, то есть неизменяемый, постоянный. Это файлы твоего проекта, которые отдаются клиенту и не генерируются автоматически: джаваскрипт, картинки интерфейса, звуки, стили - все что составляет ресурсы клиентской части. Когда проект состоит из нескольких приложений (а это почти всегда так), то выполняется команда collectstatic, и вся статика собирается в один каталог.
Медиа - это все медиа файлы, которые составляют контент, то есть загружаются и удаляются по мере работы сайта. Статика и медиа должны находиться в разных каталогах.
Xa_xoo
а в чем причина отображения юрл картинки , а не самой картинки?
FishHook
Xa_xoo
а не самой картинки?
А откуда джанга знает, что тебе нужна картинка, а не её УРЛ?
Сделай нормальный элемент <img> и вставь в его src свой крепкий {{тег}}.
Xa_xoo
поправил немного, но до конца не справился..
Картинку не находит, хотя путь верный..
в юрл прописано
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
в сеттингс так:
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
STATICFILES_DIRS = [
    ('static', 'C:/Python34/mynewage/static'),
    ]
в сеттингс в темлатес конт процессорс добавил
'django.core.context_processors.media',
в моделе:
tovar_img = models.ImageField(upload_to='img/tovar', blank=False, default='img/tovar/tovar.jpg')
в шаблоне:
<td width="250"><img width="235" height="150"  src="{{ MEDIA_URL }}{{ tovar.tovar_img }}"></td>

в итоге: пустая картинка.. в админке по ссылке если пройти, то попаду на 127.0.0.1:8000/media/img/tovar/tovar.jpg
в логе сервака там же ищет картинку… лежит в корне проекта в папке media/img/tovar/
FishHook
<img width="235" height="150"  src="{{ tovar.tovar_img.url }}">
Xa_xoo
тот же эффект(
ciklone
{% load staticfiles %}

<img src=“{% static ”inforse1.jpg“ %}” width=“100%” height=“100%” >

Я сделал так и у меня получилось, правда не в адимнке а в шаблоне
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