почему мы должны перезапустить apache после изменения какого-либо файла в проекте django - PullRequest
6 голосов
/ 28 февраля 2012

Я установил Django на Windows 7 на Apache / mod_wsgi.Мне нужно остановиться, а затем запускать сервер каждый раз, когда я изменяю любой код Python.Есть ли способ избежать этого?

Этого не происходит с изменениями javascript / php, т. Е. Перезапуск apache не требуется для просмотра эффекта изменения кода.Толчок в правильном направлении очень помог бы.Спасибо!

Ответы [ 3 ]

5 голосов
/ 28 февраля 2012

Вам не нужно перезапускать Apache.Просто измените файл wsgi (в среде UNIX вы можете использовать touch myfile.wsgi), и он будет перезагружен.Другими словами, просто убедитесь, что дата последнего изменения вашего wsgi-файла обновлена, даже если само содержимое файла отсутствует.

PS Я предполагаю, что вы работаете в режиме демона.Если вы используете встроенный режим, то мое предложение вам не поможет, и я не знаю, возможно ли это вообще сделать ... См. Также этот вопрос .

Edit: извините, я не знал, что режим демона поддерживается только в UNIX .В этом случае, возможно, ссылки в другом вопросе помогут, но я не могу сказать наверняка, так как у меня нет никакого опыта с этим.

2 голосов
/ 29 февраля 2012

Прочтите официальную документацию по этому адресу:

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

1 голос
/ 28 февраля 2012

Это потому, что код Python кэшируется в файлах .pyc. Это интерпретируется один раз, после того, как этот кеш используется. Извините, моя ошибка! Спасибо за указание на это.

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

Он вызывается из командной строки с использованием интерпретатора python: python manage.py runserver

Тогда у вас будет приложение, работающее @ localhost на порту 8000

Пожалуйста, прочитайте документы!

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