Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Django. URL, media настройки для отображения img [RSS Feed]

#1 Дек. 8, 2015 14:38:11

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

Добрый день. 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'), ]

Офлайн

#2 Дек. 8, 2015 14:57:01

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

Статика - от слова “статичный”, то есть неизменяемый, постоянный. Это файлы твоего проекта, которые отдаются клиенту и не генерируются автоматически: джаваскрипт, картинки интерфейса, звуки, стили - все что составляет ресурсы клиентской части. Когда проект состоит из нескольких приложений (а это почти всегда так), то выполняется команда collectstatic, и вся статика собирается в один каталог.
Медиа - это все медиа файлы, которые составляют контент, то есть загружаются и удаляются по мере работы сайта. Статика и медиа должны находиться в разных каталогах.



Офлайн

#3 Дек. 8, 2015 15:40:36

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

а в чем причина отображения юрл картинки , а не самой картинки?

Офлайн

#4 Дек. 8, 2015 15:44:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

Xa_xoo
а не самой картинки?
А откуда джанга знает, что тебе нужна картинка, а не её УРЛ?
Сделай нормальный элемент <img> и вставь в его src свой крепкий {{тег}}.



Офлайн

#5 Дек. 9, 2015 11:21:48

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

поправил немного, но до конца не справился..
Картинку не находит, хотя путь верный..
в юрл прописано

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/

Офлайн

#6 Дек. 9, 2015 12:11:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

<img width="235" height="150"  src="{{ tovar.tovar_img.url }}">



Офлайн

#7 Дек. 9, 2015 13:22:15

Xa_xoo
Зарегистрирован: 2015-08-28
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

тот же эффект(

Офлайн

#8 Дек. 19, 2015 14:37:07

ciklone
Зарегистрирован: 2015-02-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Django. URL, media настройки для отображения img

{% load staticfiles %}

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

Я сделал так и у меня получилось, правда не в адимнке а в шаблоне

Офлайн

  • Начало
  • » Django
  • » Django. URL, media настройки для отображения img[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version