Когда я, наконец, задеплоил сайт в продакшн, я сел писать пост о том, чем я научился в процессе. Чтобы пост был более наглядным, я подготовил иллюстрации. И тогда понял, что не знаю, как эти иллюстрации загрузить к статье.
Как загружать картинки на сайт
- В нужную модель данных надо добавить поле типа
ImageField()
. - Чтобы картинки загружались, надо указать в
settings.py
название папки, в которую их надо будет класть. Например,'/media/'
. - Чтобы картинки не только загружались, но и показывались на сайте, надо прописать путь к созданной папке в файле
urls.py
.
Об этих пунктах я рассказываю в видео. Помимо них есть еще два, которые я в видео упустил.
- Чтобы прогнать миграции, содержащие
ImageField()
нужна библиотека Pillow. Ее можно установить, выполнивpip install Pillow
. - При деплое на сервер, я обнаружил, что картинки не открываются. В итоге я разобрался, что папку
/media/
надо прописать в конфиге Nginx. Мы ранее делали такую же операцию, когда настраивали папку/static/
.
Как обычно, последнюю версию кода сайта можно посмотреть и скопировать из Гитхаба.