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, как обычно), должен ли я делать что-нибудь еще?

Большое спасибо за ваши советы, опять же, я не очень хорошо разбираюсь в этой теме, и я надеюсь, что это поможет другим новичкам, как я ^^

Вернуться на верх