Главная | Архив новостей | Общение | Площадка | Примеры OpenID
Хостинг Django от «Джино»
Оглавление

Интеграция с унаследованными веб приложениями

Существует возможность выполнения 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/.


Увидели ошибку?
Выделите её мышкой и нажмите
Ctrl-Enter
Обработано:
1049 49 130 71

Версия книги
1.0 2.0
Версия 2.0 в процессе перевода!

Мой луч
Многообразие света

Полезное
Актуальные вакансии, Python работа для python-разработчиков.


Скачать в формате
CHM от 2 сентября

Заказать PDF файл можно через почту, чат, джаббер. Всего 2WMZ. Содержимое точно соответствует содержимому сайта.
Чем чаще заказываете — тем больше перевожу.

Русская группа

на поддержку перевода
Яндекс Яндекс.Деньги Хочу такую же кнопку
Ускорить процесс перевода!
R130494980980
Z425285133788
E112528079659
U327380922061

Книга помогла реализовать:
Проект «Мой луч»
АРМ УФМС.


Мой вебсайт стоит666 337,31 руб

© 2008-2009 Ruslan Popov @ gmail.com Powered by Django 1.1 beta 1 SVN-11114
Главная | Архив новостей | Общение | Площадка | Примеры OpenID