Django - Реализация и тестирование кэширования
Похоже, что я сталкиваюсь с проблемами кэша в своем приложении, поэтому я хотел бы реализовать эту функцию разрушения кэша, как мне было рекомендовано.
Контекст: мое приложение уже находится на рабочем сервере (альфа-версия), и поскольку это развитие наземных настроек, я хотел бы воспользоваться этой возможностью, чтобы обучить себя подготовке, тестированию и доставке таких технических обновлений. Я воспользуюсь этой возможностью, чтобы лучше понять управление статическими файлами. В настоящее время js и css файлы не распространяются должным образом, и мое производственное приложение все еще использует старые версии, поэтому мне нужно принудительно обновить кэш сервера.
Поскольку я совсем не разбираюсь во всех этих вещах и управлении статическими файлами, я хотел бы перепроверить процесс и понять, как я могу протестировать его, прежде чем запускать в производство.
Как действовать
.
Насколько я понимаю, мне нужно изменить файл настроек и добавить следующую строку:
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
Мне интересно, нужно ли мне еще что-то изменить. Вот мои текущие настройки по управлению статическими файлами:
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
STATICFILES_DIRS = []
Я в основном видел несколько подходов для STATICFILES_DIRS (либо [], либо ./myapp/static, либо (os.path.join(BASE_DIR, "my_project", "static"), )), но я не знаю различий, и какая настройка лучше
Я читал несколько примеров использования, где рекомендовалось "реинитировать" настройки: удалить статическую директорию и заново создать все (миграции, собрать статику), и мне интересно, нужно ли это? Должен ли я выполнить python manage.py collectstatic? Что-нибудь еще?
Btw я в настоящее время использую Django 2.2 и буду переходить на Django 4.x по мере возможности в ближайшем будущем.
Как проверить
.
Ключевым параметром для активации этой функции является установка DEBUG = False.
Могу ли я протестировать эту модификацию непосредственно в моей локальной среде разработки? Чтобы проверить, работает ли она, достаточно ли внести небольшие изменения в js / css и убедиться, что эти изменения применяются?
Как развернуть
.
Есть ли какие-то специальные манипуляции, которые нужно выполнить?
То есть, я вытащу зафиксированные изменения и перезагружу сервис gunicorn, как обычно), должен ли я делать что-нибудь еще?
Большое спасибо за ваши советы, опять же, я не очень хорошо разбираюсь в этой теме, и я надеюсь, что это поможет другим новичкам, как я ^^