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

Буду очень признателен за помощь, самостоятельно разобраться в большом количестве разнообразной документации пока не получается
ilnur
 <img src="{{ project.image.url }}">
нет?
SergoOrdgonikidze94
так тоже пробовал, результат тот же
ilnur
посмотрите в шаблоне, какой итоговый урл рендерится
SergoOrdgonikidze94
Если я правильно понял, вы предлагаете посмотреть код страницы?
вот такой урл внутри тега:
/media/images/_ue4BEVmi3k.jpg
SergoOrdgonikidze94
При попытке перейти к самой картинке(щелкнув по етой самой надписи внутри тега) джанго любезно сообщает, что страница не найдена:
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')),
]
ilnur
погуглите как отдавать статику и медию, с телефона я, точнее сказать не могу
SergoOrdgonikidze94
Решил проблему)
Если кому интересно, как обычно проблема была в сущей ерунде:

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

Иначе говоря, не хватало слеша в конце
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