Можно ли перезагрузить представление без перезапуска Django? - PullRequest
5 голосов
/ 08 февраля 2012

После изменения функции просмотра без запуска сервера и нажатия клавиши F5 для обновления страницы, Django не будет перезагружать новый вид, а использовать предыдущий. но если вы меняете шаблон, Django всегда использует новый.

Итак, есть ли способ заставить Django перезагружать представление каждый раз, когда пользователь обновляет страницу, я думаю, что это очень удобно для разработки, чтобы часто изменять функцию представления.

Ответы [ 5 ]

9 голосов
/ 08 февраля 2012

Если вы запускаете django, используя dev-сервер (./manage.py runserver), он всегда будет перезагружаться при обнаружении любых изменений кода.Это даже более эффективно, чем перезагрузка с каждым запросом.Если вы вносите изменения, они перезагружаются, когда это необходимо.

Если вы работаете на производственном сервере (nginx, apache и т. Д.) И хотите перезагрузить код, то вам нужно что-то добавить в свой модуль wsgiдля обнаружения изменений кода.

Перезагрузка кода с помощью apache: http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

Перезагрузка кода с помощью uwsgi: http://projects.unbit.it/uwsgi/wiki/TipsAndTricks

2 голосов
/ 08 мая 2014

Если вы запускаете Django в качестве приложения WSGI в режиме демона, вам просто нужно коснуться wsgi.py для вашего сайта, и приложение будет перезагружено при следующем запросе.(Так что не нужно никаких специальных опций).

2 голосов
/ 24 июля 2012

Это известная проблема с PyDev.Я бы предложил запустить сервер из терминала / cmd.Перейдите в каталог вашего проекта, где manage.py присутствует, и запустите сервер, используя

python manage.py runserver

Вам не нужно запускать проект из меню Eclipse.Любые изменения, сделанные в затмении, будут отражены, как только они будут сделаны.

0 голосов
/ 07 января 2016

Попробуйте использовать gunicorn или nginx в качестве запущенного сервера ... Они не перезапускаются при изменении кода попробуйте набрать

gunicorn --bind 0.0.0.0:8080 app.wsgi:application

0 голосов
/ 26 сентября 2012

Я заметил, что это настройка в конфигурациях запуска pyDev.Интересно почему, но кажется --noreload настроен по умолчанию.Поэтому я редактирую аргументы настроек запуска, и теперь сервер перезагружается также при редактировании представлений.

...