Я уже некоторое время пытаюсь создать простое приложение на Django и заметил следующее поведение:
Каждый раз, когда я вношу изменения в urls.py в папке проекта, изменения не отражаются до тех пор, пока я не перезапущу демон http. Зачем? Как я могу обойтись без этого?
Я попытался перенаправить r '^ staff / $' на staff.views.index (имя моего приложения - это персонал). Но доступ к / staff дал мне «Server Error», который при проверке error_log показал «TemplateSyntaxError: Caught ImportError во время рендеринга: нет модуля с именем staff». Что это значит?
На удаление этой конкретной строки из urls.py (и перезапуск httpd), доступ / возврат к странице «Работает». Но когда я обновляю страницу после очистки всех данных просмотра (включая кеш), я волшебным образом возвращаю страницу со словами
Using the URLconf defined in myproj.urls, Django tried these URL patterns, in this order:
^staff/$
The current URL, , didn't match any of these.
Это действительно меня озадачивает; как оно могло вернуться? Я пытался понять, что происходит, но, к сожалению, мне это не удалось. С такой скоростью я мог бы просто вернуться к cakephp. Я не хочу возвращаться, помогите!
Исходная информация:
Я запускаю Apache с mod_wsgi в Arch Linux. myproj - это имя моего проекта (находится в / srv / http-django), и у него есть одно приложение под названием staff (добавлено в INSTALLED_APPS). Мой сценарий WSGI добавляет / srv / http-django в sys.path и устанавливает DJANGO_SETTINGS_MODULE в myproj.settings.
myproj / staff / views.py содержит индексную функцию, которая просто возвращает "Hello, World!" как HttpResponse
Если вы запустите mod_wsgi в режиме демона, вы можете обновить изменения, коснувшись файла .wsgi. (Я обнаружил, что это немного ненадежно)
Для вашей первой проблемы прочтите:
http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
Для второй проблемы у вас может быть проблема sys.path или, что более вероятно, зависимость или проблема порядка импорта из-за именования модулей. Если вам повезло, вы используете альтернативный файл сценария WSGI, описанный в:
http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html
может помочь, а может и нет.