Файл статического изображения 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/'
В вашем settings.py
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_URL = '/static/'
и прочитайте этот документ
С корневой структурой каталога, которую вы показали, я думаю, что приведенная выше настройка должна работать. Однако не проверял. Дайте мне знать, если это сработает.
у тебя есть:
upload_to='items'
но:
{{ item.img.url }}
должно быть?
{{ items.img.url }}
Похожие вопросы
Посмотрите другие вопросы по меткам python django django-models django-templates django-views или Задайте вопрос