Восстановленное изображение не сохраняется в папке media
settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / "static"]
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
MEDIA_URL = '../media/images/'
urls.py
if settings.DEBUG:
# Use static() to add url mapping to serve static files during development (only)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
models.py
profile_image = models.ImageField(upload_to="../media/images")
путь к файлу:
-main_project
/app #django app
/media/images #media folder inside image folder
/main #django main app
/static/css #static folder for js,css,images,fonts
/templates #html templates
Я также пробовал другой способ, но все равно, мое изображение не загружается в папку media
Измените MEDIA_URL
и MEDIA_ROOT
на:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
После определения выше вам не нужно явно помещать папку media внутрь ImageField
:
profile_image = models.ImageField(upload_to="images")
Смотрите официальные документы об управлении файлами
сначала измените на это
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
и в вашей модели
profile_image = models.ImageField(upload_to="images")
и я предполагаю, что вы используете форму для загрузки изображения, так что в этом
<form method="POST" enctype="multipart/form-data">
используйте enctype и если он все еще не работает, попробуйте обновить его из панели администратора, а затем скажите мне, обновлен он или нет