Существует возможность выполнения Django приложений на том же
веб сервере, на котором работает приложение, основанное на
другой технологии. Наиболее прямолинейным способом решения такой
задачи является использование конфигурационного файла Apache,
httpd.conf, для определения какие URL с
помощью какой технологии обрабатывать. (Следует отметить, что
глава «Развёртывание Django» описывает процесс
установки приложения на Apache, имеет смысл прочитать сначала
тот раздел перед попыткой такой интеграции.)
Решение заключается в том, что Django будет использоваться для
определённого шаблона URL только если так будет сказано в
httpd.conf. Стандартная установка на
сервер, описанная в главе «Развёртывание Django», предполагает, что
Django поддерживает целый домен:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonDebug On
</Location>
Здесь, строка <Location "/"> означает «обрабатывать каждый URL, который начинается от корня домена».
Удобно ограничивать эту директиву определённым каталогом. Например, у вас есть унаследованное PHP приложение, которое поддерживает множество страниц текущего домена и вы желаете установить интерфейс администратора Django в каталог /admin/ без влияния на PHP приложение. Для этого, следует определить директиву <Location> для /admin/:
<Location "/admin/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonDebug On
</Location>
После этого, только URL, которые начинаются с /admin/ будут обрабатываться Django. Остальные страницы будут использовать ранее существовавшую инфраструктуру.
Следует отметить, что подключение Django к ограниченному URL никак не влияет на внутренний процесс Django, который обрабатывает URL. Django работает с абсолютным URL (т.е., /admin/people/person/add/), а не «урезанную» версию URL (т.е., /people/person/add/). Это означает, что корневая схема URL должна содержать ведущий /admin/.
| Пред. | Уровень выше | След. |
| Интеграция с системой аутентификации | Начало | Глава 17. Расширение интерфейса администратора |
0 comments | Make a comment