Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » На страницу не подгружаются картинки [RSS Feed]

#1 Авг. 25, 2016 11:13:42

SergoOrdgonikidze94
Зарегистрирован: 2016-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

Всем доброго времени суток. Я новичок в джанго, пытаюсь написать сайт для дизайнера интерьеров, содержащий информацию обо всех его проектах. Суть проста: информация о каждом проекте включает в себя кусок текста и несколько изображений. Однако в самом начале работы я столкнулся с проблемой: загружаемые через админку картинки исправно копируются в каталог, путь до которого указан в 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

views:
 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})

urls:
 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)

Офлайн

#2 Авг. 25, 2016 13:23:12

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

 <img src="{{ project.image.url }}">
нет?

Офлайн

#3 Авг. 25, 2016 16:12:43

SergoOrdgonikidze94
Зарегистрирован: 2016-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

так тоже пробовал, результат тот же

Офлайн

#4 Авг. 25, 2016 16:27:16

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

посмотрите в шаблоне, какой итоговый урл рендерится

Офлайн

#5 Авг. 27, 2016 17:27:11

SergoOrdgonikidze94
Зарегистрирован: 2016-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

Если я правильно понял, вы предлагаете посмотреть код страницы?
вот такой урл внутри тега:
/media/images/_ue4BEVmi3k.jpg

Офлайн

#6 Авг. 27, 2016 17:56:45

SergoOrdgonikidze94
Зарегистрирован: 2016-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

При попытке перейти к самой картинке(щелкнув по етой самой надписи внутри тега) джанго любезно сообщает, что страница не найдена:
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')),
]

Офлайн

#7 Авг. 27, 2016 19:06:40

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

погуглите как отдавать статику и медию, с телефона я, точнее сказать не могу

Офлайн

#8 Авг. 29, 2016 09:33:40

SergoOrdgonikidze94
Зарегистрирован: 2016-03-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

На страницу не подгружаются картинки

Решил проблему)
Если кому интересно, как обычно проблема была в сущей ерунде:

 <img src="{{ project.image.url }}" />

Иначе говоря, не хватало слеша в конце

Офлайн

  • Начало
  • » Django
  • » На страницу не подгружаются картинки[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version