Django - невозможно отобразить изображения в админке
У меня следующая проблема:
Когда я пытаюсь загрузить изображение в панели администратора Fig. 1 и затем пытаюсь просмотреть его, я получаю эту ошибку Fig. 2
Settings.py:
DEBUG = True
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
portfolio/models.py:
from django.db import models
from django.db.models.fields import CharField, URLField
from django.db.models.fields.files import ImageField
class Project(models.Model):
title = CharField(max_length=100)
description = CharField(max_length=250)
image = ImageField(upload_to="portfolio/images")
url = URLField(blank=True)
portfolio/admin.py:
from django.contrib import admin
from .models import Project
admin.site.register(Project)
my_app/urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Спасибо :) и извините за мой холодный английский
Добавьте следующую строку, чтобы django мог обслуживать медиафайлы во время разработки.
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# all url conf
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
В ваш файл settings.py добавьте следующее:
MEDIA_URL ='/images/'
STATICFILES_DIR = [
BASE_DIR / 'static'
]
MEDIA_ROOT = BASE_DIR / 'static/images'
STATIC_ROOT = BASE_DIR / 'staticfiles'
и затем:
В вашем urls.py внутри каталога проекта добавьте следующее:
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)