Я думал, что один и тот же механизм будет работать как для сервера разработки, так и для Apache в качестве моего веб-сервера, но я в настоящее время очень запутался.
Я могу получить доступ к URL при использовании сервера разработки Django следующим образом
__http://devserver/my_application/
Когда я переключаю свой веб-сервер на Apache, я получаю ошибки Django 404 для всех записей URLs.py.
пытается получить доступ __ http://devserver/ возвращает следующее
Using the URLconf defined in antrum.urls, Django tried these URL patterns, in this order:
^my_application/$
^my_application/?page=(?P<page>\d+)
^my_application/new
^my_application/(?P<candidate_id>\d+)/$
^my_application/(?P<candidate_id>\d+)/update/$
^my_application/(?P<candidate_id>\d+)/delete/$
^my_application/search/$
^admin/doc/
^admin/
The current URL, , didn't match any of these.
Попытка доступа http://devserver/my_application/ приводит к следующему выводу
{'path': u'my_application/'}
Я, вероятно, делаю глупую ошибку, но не могу сейчас это увидеть. Что я мог пропустить, чтобы проверить?
Вот моя конфигурация Apache
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE project.settings
PythonOption django.root /
PythonDebug On
PythonPath "['/home/user/','/home/user/project/'] + sys.path"
</Location>
<Location "/media/">
SetHandler None
</Location>
Вот мои выводы:
- Переключение на manage.py runserver решает мою проблему
- Apache Error.log не имеет записей
- Когда я устанавливаю переменную Environment для pythonpath и использую Python CLI, я могу получить доступ к своим моделям, что также IMHO оставляет опцию python path из этого
- __ http://devserver/my_application и __ http://devserver/my_appTYPO выдают одно и то же сообщение об ошибке с разными выводами {u'path ': ...}