將Django架構和遺留的Web應用整合的方法

來源:互聯網
上載者:User
同由其他技術驅動的應用一樣,在相同的Web伺服器上運行Django應用也是可行的。 最簡單直接的辦法就是利用Apaches設定檔httpd.conf,將不同的URL類型分發至不同的技術。

關鍵在於只有在您的httpd.conf檔案中進行了相關定義,Django對某個特定的URL類型的驅動才會被啟用。

  SetHandler python-program  PythonHandler django.core.handlers.modpython  SetEnv DJANGO_SETTINGS_MODULE mysite.settings  PythonDebug On

這裡, 這一行表示用Django處理每個以根開頭的URL.

精妙之處在於Django將指令值限定於一個特定的分類樹上。 舉個例子,比如說您有一個在某個域中驅動大多數頁面的遺留PHP應用,並且您希望不中斷PHP代碼的運行而在../admin/位置安裝一個Django域。 要做到這一點,您只需將值設定為/admin/即可。

  SetHandler python-program  PythonHandler django.core.handlers.modpython  SetEnv DJANGO_SETTINGS_MODULE mysite.settings  PythonDebug On

有了這樣的設定,只有那些以/admin/開頭的URL地址才會觸發Django去進行處理。 其他頁面會使用已存在的設定。

請注意,把Diango綁定到的合格的URL(比如在本章例子中的 /admin/ )並不會影響其對URL的解析。 絕對路徑對Django才是有效(例如 /admin/people/person/add/ ),而非截斷後的URL(例如 /people/person/add/ )。這意味著你的根URLconf必須包含首碼 /admin/ 。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.