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')