Когда я, наконец, задеплоил сайт в продакшн, я сел писать пост о том, чем я научился в процессе. Чтобы пост был более наглядным, я подготовил иллюстрации. И тогда понял, что не знаю, как эти иллюстрации загрузить к статье.

Как загружать картинки на сайт

  1. В нужную модель данных надо добавить поле типа ImageField().
  2. Чтобы картинки загружались, надо указать в settings.py название папки, в которую их надо будет класть. Например, '/media/'.
  3. Чтобы картинки не только загружались, но и показывались на сайте, надо прописать путь к созданной папке в файле urls.py.

Об этих пунктах я рассказываю в видео. Помимо них есть еще два, которые я в видео упустил.

  1. Чтобы прогнать миграции, содержащие ImageField() нужна библиотека Pillow. Ее можно установить, выполнив pip install Pillow.
  2. При деплое на сервер, я обнаружил, что картинки не открываются. В итоге я разобрался, что папку /media/ надо прописать в конфиге Nginx. Мы ранее делали такую же операцию, когда настраивали папку /static/.

Как обычно, последнюю версию кода сайта можно посмотреть и скопировать из Гитхаба.