Django ImageField обновляет, но не отображает изменения
У меня есть следующее поле:
logo = models.ImageField(_(u"Logo"), blank=True, null=True, upload_to=directory)
Это отображается как:
<img src="{{ logo.url }}"/>
Когда я меняю логотип, новое изображение загружается, и я вижу, что поле логотипа изменилось в базе данных.
Проблема в том, что шаблон пытается визуализировать старое изображение. Этот URL больше не действителен, и изображение отсутствует. Это происходит до тех пор, пока я не перезапущу сервер.
После перезагрузки работает отлично. Это похоже на то, что значение logo.url хранится в кэше. Что мне здесь не хватает?
1 ответ
Решение
Обнаружил проблему: это поле принадлежит модели, подключенной one2one к сайту, из фреймворка Djago Sites.
Я добавил вызов Site.objects.clear_cache() после сохранения изменений в моей модели. Теперь это работает!