Автор Тема: Куда загружаются файлы из ImageField?  (Прочитано 972 раз)

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Куда загружаются файлы из ImageField?
« : Марта 09, 2019, 12:06:41 pm »
Всем привет. Я создал модель с ImageField:

Image = models.ImageField(upload_to='static/imagination', max_length=100,verbose_name='Ваше изображение')

Но я не понимаю, куда они сохраняются

В бд сохраняется путь
Цитата:
static/imagination/mypicture.png
- вопросов нет/

При просмотре в админке же абсолютный путь к картинке джанго показывает с ID=1: "1/change/static/imagination/mypicture.png". Откуда берутся эти `1` и `change`? И куда сохраняется сама картинка?

Читал, что путь сохранения изображений можно задать в админке. Мой settings.py:

STATIC_URL = '/static/'

MEDIA_ROOT = '/media/' # путь к медиа

MEDIA_URL = '' # ссылка к пути к медиа

AUTH_USER_MODEL = 'main.Profile'

Вопрос: как задать адекватный путь к изображению для сохранения и скачивания? Например, static/imagination/1 - или что-то в таком духе?

AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Куда загружаются файлы из ImageField?
« Ответ #1 : Марта 10, 2019, 12:22:19 pm »
Цитата:
При просмотре в админке же абсолютный путь к картинке джанго показывает с ID=1: "1/change/static/imagination/mypicture.png". Откуда берутся эти `1` и `change`? И куда сохраняется сама картинка?

Посмотрите генерируемый html-код. Скорее всего он сгенеррован в виде относительной ссылки и переход происходит относительно адреса текущей страницы пользователя, по умолчанию:

Цитата:
http://адрес_сайта/admin/имя_приложения/имя_модели/id/change/


Картинка у вас должна сохраняться по пути
Цитата:
/media/static/imagination/mypicture.png

Смотрите внимательно в папке вашего виртуального окружения
« Последнее редактирование: Марта 10, 2019, 12:26:17 pm от AdminUser »