Изображения не сохраняются в папке media, а создается папка и сохраняется
Я пытаюсь загрузить несколько изображений в папку media моего приложения. Проблема в том, что изображения загружаются успешно, но не в папку media. Приложение создает другую папку и сохраняет их. Детали моего кода приведены ниже:
urls.py
from django.contrib import admin
from django.urls import path
from ssibdweb import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name='index'),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIAFILES_DIRS)
settings.py
MEDIA_DIR = BASE_DIR / 'media'
MEDIA_URL = '/media/'
MEDIAFILES_DIRS = [
STATIC_DIR,
]
models.py
class BlogImage(models.Model):
id = models.AutoField(primary_key=True)
sub_id = models.ForeignKey(Subject, on_delete=models.CASCADE)
pic = models.ImageField(upload_to='blog/')
def __str__(self):
return str(self.id)
Я использую следующую форму для загрузки
<form method="POST" enctype="multipart/form-data" >
Вы пытаетесь передать settings.MEDIAFILES_DIRS внутри static() функции, которая не существует в django.conf настройках, вы можете проверить доступные константы settings. Для хранения загруженного медиаконтента необходимо установить следующее значение MEDIA_ROOT
MEDIA_ROOT = BASE_DIR / 'media'
и внутри вашего файла urls.py измените его следующим образом
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)