同由其他技術(shù)驅(qū)動(dòng)的應(yīng)用一樣,在相同的Web服務(wù)器上運(yùn)行Django應(yīng)用也是可行的。 最簡(jiǎn)單直接的辦法就是利用Apaches配置文件httpd.conf,將不同的URL類型分發(fā)至不同的技術(shù)。
關(guān)鍵在于只有在您的httpd.conf文件中進(jìn)行了相關(guān)定義,Django對(duì)某個(gè)特定的URL類型的驅(qū)動(dòng)才會(huì)被激活。
<Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonDebug On</Location>
精妙之處在于Django將<location>指令值限定于一個(gè)特定的目錄樹上。 舉個(gè)例子,比如說您有一個(gè)在某個(gè)域中驅(qū)動(dòng)大多數(shù)頁(yè)面的遺留PHP應(yīng)用,并且您希望不中斷PHP代碼的運(yùn)行而在../admin/位置安裝一個(gè)Django域。 要做到這一點(diǎn),您只需將<location>值設(shè)置為/admin/即可。
<Location "/admin/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonDebug On</Location>
有了這樣的設(shè)置,只有那些以/admin/開頭的URL地址才會(huì)觸發(fā)Django去進(jìn)行處理。 其他頁(yè)面會(huì)使用已存在的設(shè)置。
請(qǐng)注意,把Diango綁定到的合格的URL(比如在本章例子中的 /admin/ )并不會(huì)影響其對(duì)URL的解析。 絕對(duì)路徑對(duì)Django才是有效的(例如 /admin/people/person/add/ ),而非截?cái)嗪蟮腢RL(例如 /people/person/add/ )。這意味著你的根URLconf必須包含前綴 /admin/ 。
新聞熱點(diǎn)
疑難解答
圖片精選