Обслуживание приложения Django с относительного пути - PullRequest
1 голос
/ 02 сентября 2011

Я занимаюсь разработкой приложения Django, которое отлично работает локально. В производстве приложение будет обслуживаться по относительному пути, например www.example.com/app/.

Я использую Apache с mod_wsgi, и я настроил Apache для обслуживания приложения с относительного URL:

WSGIScriptAlias /app /path/to/my/modwsgi.py
WSGIDaemonProcess app display-name=app_wsgi

К сожалению, я получаю сообщение об ошибке 404. Отладочная информация довольно загадочная. Если я попытаюсь получить www.example.com/app/myurl/, Джанго говорит

Using the URLconf defined in apps.urls, Django tried these URL patterns, in this order:

    ^myurl/$
    ...

The current URL, myurl/, didn't match any of these.

Кажется, что Django - правильно - делает вывод, что запрошенный путь равен myurl/, а не app/myurl/. Но, хотя myurl/ явно соответствует ^myurl/$, оно не находит соответствия.

Я также попытался добавить настройку

FORCE_SCRIPT_NAME = '/app'

но ничего не меняется - сообщение об ошибке остается идентичным.

1 Ответ

1 голос
/ 02 сентября 2011

Отладочная информация лежит: - / Попытка с более разрешительными регулярными выражениями в URL conf; Я был в состоянии получить страницу. Оттуда я мог напечатать request.path, и оказалось, что app/myurl/.

Чтобы все заработало, пришлось вместо этого поставить

FORCE_SCRIPT_NAME = ''
STATIC_URL = '/app/static/'
MEDIA_URL = '/app/media/'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...