Файл статического изображения Django Не удалось загрузить ресурс

FIXED Это было мое решение, в основных программах urls.py мне пришлось добавлять эти строки.

из настроек импорта django.conf из django.conf.urls.static import static

urlpatterns + = static (settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

У меня есть модель под названием Item внутри. У меня есть поле изображения. Я добавил новый элемент с изображением в базу данных и попытался загрузить его внутри моего шаблона индекса. Однако я не получаю изображение, когда смотрю на консоль, на которой он говорит ("WEBSITENAME/site_media/items/image.jpg 404 (Not Found)")

Я думаю, что проблема заключается в файле settings.py, но я не могу понять, что именно я сделал не так.

Шаблон index.html

{% load static %}
<div class="item" style="background-image: url('{{ item.img.url }}')">'

Model.py

class Item(models.Model):
    name = models.CharField(max_length=200)
    img = models.ImageField(upload_to='items', default='', blank=True, null=True)

    def __str__(self):
        return "%s" % (self.name)

Views.py

def index(request):
    latestItems = Item.objects.all().order_by('-id')[:3][::-1]
    return render(request, 'webshop/index.html', {'latestItems' :latestItems})

settings.py

SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = os.path.join(SITE_ROOT, 'site_media/')
MEDIA_URL = 'site_media/'
+1
источник поделиться
2 ответа

В вашем settings.py

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'

и прочитайте этот документ

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

0
источник

у тебя есть:

upload_to='items'

но:

{{ item.img.url }}

должно быть?

{{ items.img.url }}
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос