Форум сайта python.su
Всем доброго времени суток. Я новичок в джанго, пытаюсь написать сайт для дизайнера интерьеров, содержащий информацию обо всех его проектах. Суть проста: информация о каждом проекте включает в себя кусок текста и несколько изображений. Однако в самом начале работы я столкнулся с проблемой: загружаемые через админку картинки исправно копируются в каталог, путь до которого указан в MEDIA_ROOT, однако на странице “projects” видна лишь иконка, сообщающая о том, что здесь как бы должно быть изображение. Вот мой код:
models:
from django.db import models class Project(models.Model): title=models.CharField(max_length=200) text=models.TextField() image=models.ImageField(upload_to='images') def __srt__(self): return self.title
from django.shortcuts import render from .models import Project def home(request): return render(request, 'design/home.html', {}) def contacts(request): return render(request, 'design/contacts.html', {}) def projects(request): projects=Project.objects.all() return render(request, 'design/projects.html', {'projects':projects})
from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.home, name='home'), url(r'^contacts/$', views.contacts, name='contacts'), url(r'^projects/$', views.projects, name='projects'), ]
<html> <head> <title>Projects</title> </head> <body> {% for project in projects %} <div> <h1>{{ project.title }}</h1> </div> <div> <p>{{ project.text }}</p> </div> <div> <img src="{{ project.image }}"> </div> {% endfor %} </body> </html>
Отредактировано SergoOrdgonikidze94 (Авг. 25, 2016 11:15:09)
Офлайн
<img src="{{ project.image.url }}">
Офлайн
так тоже пробовал, результат тот же
Офлайн
посмотрите в шаблоне, какой итоговый урл рендерится
Офлайн
Если я правильно понял, вы предлагаете посмотреть код страницы?
вот такой урл внутри тега:
/media/images/_ue4BEVmi3k.jpg
Офлайн
При попытке перейти к самой картинке(щелкнув по етой самой надписи внутри тега) джанго любезно сообщает, что страница не найдена:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/media/images/_ue4BEVmi3k.jpg
Using the URLconf defined in Liza.urls, Django tried these URL patterns, in this order:
1. ^admin/
2. ^$
3. ^contacts/$
4. ^projects/$
The current URL, media/images/_ue4BEVmi3k.jpg, didn't match any of these.
Вот так перевел гугл-переводчик:
Используя URLconf, определенный в Liza.urls, Джанго попытался эти шаблоны URL, в следующем порядке:
^ Админ /
^ $
^ контакты / $
^ проекты / $
Текущий URL, медиа / изображения / _ue4BEVmi3k.jpg, не соответствует ни одному из них.
Вот код урл-конф:
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'', include('design.urls')), ]
Офлайн
погуглите как отдавать статику и медию, с телефона я, точнее сказать не могу
Офлайн
Решил проблему)
Если кому интересно, как обычно проблема была в сущей ерунде:
<img src="{{ project.image.url }}" />
Офлайн