Изменения в коде Django не отражаются на производственном сервере - PullRequest
0 голосов
/ 06 октября 2018

Я внес изменения в одну из моих модельных форм в приложениях Django - я добавил новые поля ввода для пользователя.Затем я проверил изменения в моей среде, и все работает нормально.Затем я зафиксировал и перенес изменения в удаленное хранилище.Я вытащил изменения на моем производственном сервере, который работает на AWS.Я запустил pkill -f runserver в терминале, чтобы перезапустить сервер, но изменения не произошли.Были видны только изменения, касающиеся тегов html (новые ярлыки и т. Д.).Изменения, которых не было, - это те, которые происходят из модели: новые поля ввода для пользователя - они просто полностью отсутствовали на странице шаблона.Что может быть причиной такого поведения?

Ответы [ 3 ]

0 голосов
/ 06 октября 2018

вам нужно перезапускать службу gunicorn каждый раз, когда вы вносите изменения в код.запустите sudo systemctl restart gunicorn Сделайте это и изменения отразятся.

0 голосов
/ 06 октября 2018

Это зависит от того, какой сервер вы используете: nginx, gunicorn или apache.

Если вы настроите сервер с помощью nginx и gunicorn, вы, возможно, попытаетесь перезапустить эти службы вручную, но я бырекомендуем использовать что-то вроде supervisord, чтобы упростить процедуру перезапуска ..

Если вы используете apache, возможно, используйте

sudo service httpd restart 
0 голосов
/ 06 октября 2018

После отправки изменений на рабочий сервер также необходимо перенести изменения базы данных.В вашем локальном репозитории (где вы вносите изменения в модель) вы запускаете команду makemigrations

python manage.py makemigrations

, а после получения изменений на производственном сервере запускаете команду migrate

* 1007.*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...