изображения папки мультимедиа не отображаются на странице шаблона - PullRequest
0 голосов
/ 30 мая 2019

Я новичок в Джанго.Изображения медиальной папки не отображаются в файле шаблона.Пожалуйста, помогите мне в этом.

models.py

class Images(models.Model):
    image = models. ImageField(upload_to='images', blank=True, null=True)

settings.py

STATIC_URL = '/static/'

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL = '/media/'

urls.py

urlpatterns = [
......
]
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

просмотров.py

def image_display(request):
    image_obj = Images.objects.all()
    return render(request, 'index.html', {'image_obj': image_obj})

index.html

<body>

    {% for item in myoffers_objs %}
    <div>
        <img src="{{ item.image.url }}" alt="Images"/>
    </div>
    {% endfor %}

</body>

Подробности проекта , где я допустил ошибку.почему его отображение так. Изображение отображается так

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

правильный static_root:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

вы должны добавить это в свой HTML-файл, если вы используете статические данные в этом HTML:

{% load staticfiles %}

, а также вам нужно запустить эту команду для сборастатические файлы в вашем проекте:

python manage.py collectstatic
0 голосов
/ 30 мая 2019

Неправильный цикл for в файле шаблона.Попробуйте это

<body>

    {% for item in image_obj %}
    <div>
        <img src="{{ item.image.url }}" alt="Images"/>
    </div>
    {% endfor %}

</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...