Django compilemessages не применяет изменения в производстве
В настоящее время я разрабатываю веб-приложение, используя django + postgres + nginx + docker, все уже работает. Сейчас я разработал функцию, которая позволяет изменять файл перевода (.po), будучи залогиненным как администратор. Это работает в моей среде разработки, а также при выводе командных строк кажется, что приложение применяет изменения внутри образа докера. но когда я использую call_command("compilemessages)
, изменения не применяются. Файл .po был обновлен, но не запись на самом сайте.
Так что логика работает, но я хочу, чтобы изменения устанавливались постоянно при изменении. Является ли это проблемой кэширования Nginx или я упускаю что-то важное?
Вот мои файлы:
docker-compose.prod.yml
:
services:
web:
build: ./app
command: bash -c "python manage.py makemigrations && python manage.py migrate && gunicorn --timeout 120 wtc_research.wsgi:application --bind 0.0.0.0:8000"
# command: bash -c "python manage.py makemigrations && python manage.py migrate && waitress-serve --listen=*:8000 wtc_research.wsgi:application"
volumes:
- static_volume:/staticfiles/
- locale_volume:/locale/
restart: always
ports:
- "8000:8000"
expose:
- "8000"
env_file:
- ./.env.prod
depends_on:
- db
db:
image: postgres:16
volumes:
- postgres_data:/var/lib/postgresql/data/
- ./django_dump.sql:/home/django_dump.sql
- ./translated_text.sql:/home/translated_text.sql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
restart: always
env_file:
- ./.env.prod.db
nginx:
build: ./nginx
volumes:
- static_volume:/staticfiles/
restart: always
ports:
- "80:80"
- "443:443"
depends_on:
- web
volumes:
postgres_data:
static_volume:
locale_volume:
Я не уверен, что делать, также просматривая документацию django, я не нашел ничего связанного с этим. Есть ли у кого-нибудь идея. Цель - маска POFIleEditor в моем веб-приложении.
Заранее спасибо!
Логика работает, так как на моей локальной разработке нет ошибок, также в контейнере я вижу, что он тоже работает, но он просто не отображается на моем сайте. Кроме того, изменения остаются в контейнере, а файл не обновляется в моем репозитории. Это можно решить путем монтирования тома, но я не могу найти решение для изменений живого перевода.
Возможно, вам нужно перезапустить WSGI-сервер, чтобы перезагрузить содержимое, на dev env это может происходить автоматически, так как Django Server перезапускается при изменении файлов через часы