Django imagefield не показывает ни одной фотографии в шаблоне
Я работаю над книжным магазином, используя Django. Я пытаюсь сохранить обложку каждой книги в каждой книге, созданной пользователем, используя imagefield. Я выполнил все шаги в документации Django по использованию imagefield, но это не работает.
settings.py (в главном проекте):
MEDIA_DIR = os.path.join(BASE_DIR,'media')
MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'
в urls.py (основной проект):
from django.contrib import admin
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("book.urls")),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
в models.py (приложение для книги):
class books(models.Model):
cover = models.ImageField(upload_to='cover/co', blank=True)
Когда я хочу зайти в админку, я обнаруживаю, что фото отправлено (когда я нажимаю на url фото в базе данных, мне ничего не показывается), но я не нахожу никаких созданных медиа папок и когда я пытаюсь запросить изображение в любом шаблоне, оно мне не показывается. Когда я пытаюсь нажать на фото в базе данных в админке, мне показывается следующее: введите описание изображения здесь. Это пути приложения, проекта и статики: enter image description here
Я не знаю, где проблема и как ее решить, так как это мой первый раз, чтобы использовать imagefiled в модели django,,,, это может быть из-за путей, модели или урлов, так что если есть какая-либо помощь.
Просто вы можете попробовать этот способ:
settings.py файл:
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
В файле models.py:
class books(models.Model):
cover = models.ImageField(upload_to='cover/', blank=True) #I have removed co from here
После добавления вышеуказанного кода не забудьте выполнить миграцию
Попробуйте это и посмотрите, решит ли это вашу проблему
Удалите /
в начале вашего MEDIA_URL
.