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.

Вернуться на верх