Django не загружает изображения в каталог мультимедиа

Сегодня я попробовал разместить изображения в своем проекте, идея проста - создать новость с изображением, заголовком и описанием. Интересно, почему, когда я настраиваю свои медиа файлы. Поэтому я создаю свои новости в таком виде:

class NewsCreate(views.CreateView):
template_name = 'web/create_news.html'
model = News
fields = ('title', 'image', 'description')
success_url = reverse_lazy('home')

Вот модель:

class News(models.Model):
TITLE_MAX_LENGTH = 30
title = models.CharField(
    max_length=TITLE_MAX_LENGTH
)
image = models.ImageField(
    upload_to='news/',
    blank=True
)
description = models.TextField()

Вот настройка в settings.py:

MEDIA_ROOT = BASE_DIR / 'mediafiles'
MEDIA_URL = '/media/'

Вот файл urls.py:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
   path('admin/', admin.site.urls),
   path('', include('University_Faculty.web.urls')),
]
if settings.DEBUG:
   urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Я заметил, что когда я пытаюсь перейти на не существующий URL, происходит следующее: неправильная страница ulr показывает медиа как правильную

Вот результат в моей папке media после 10+ POST запросов он показывает в базе данных, что он действительно создает новости, но изображения никуда не отправляются: no files media folder

Вам необходимо исправить

MEDIA_ROOT = BASE_DIR / 'media'

Надеемся, что это сработает для вас.

добавьте это в settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Вернуться на верх