2008-12-07 20 views
0

我剛剛用apache設置了mod python,我試圖讓一個簡單的腳本工作,但是會發生所有我的html爲純文本當我加載頁面。我想這是mod_python.publisher的問題,我也是這樣設置的。我搜索了它的源代碼,發現它在'text/plain'和'text/html'之間的區別,並且在我的腳本中搜索它輸出的文件的最後100個字符,所以我將它放入,然後它仍然沒有工作。我甚至嘗試對一些代碼進行註釋,以便發佈者將所有內容都設置爲「text/html」,但是當我刷新頁面時,它仍然執行相同的操作。也許我設置了錯誤的東西。mod_python.publisher總是給出內容類型'text/plain'

我的繼承人在httpd.conf配置

<目錄 「C:/ Program Files文件/阿帕奇軟件基金會/ APACHE2.2/htdocs目錄」>
SetHandler mod_python的
PythonHandler mod_python.publisher
PythonDebug在
< /目錄>

+0

這有什麼錯mod_wsgi的?像Django這樣更完整的Web服務器框架有什麼問題? – 2008-12-07 16:54:13

回答

3

你的配置l ooks好吧:我有一個工作mod_python.publisher腳本具有基本相同的設置。

一些其他的想法:

  • 當你試圖編輯發行的源代碼,並重新啓動您的Web服務器?當服務器首次啓動時,它只加載一次Python庫。

  • 發佈者的自動檢測查找閉合的HTML標記:</html >。那是你添加的嗎? (我不能在你的問題中看到它,但可能它在你發佈時就被剝離了。)

  • 如果沒有其他的工作,你可以隨時設置內容類型。這是更多的代碼,但它保證一貫工作。將請求中的content_type字段設置爲「text/html」。

例如,如果你的腳本是這樣的現在:

def index(req, an_arg='default'): 
    return some_html 

它會成爲:

def index(req, an_arg='default'): 
    req.content_type = 'text/html' 
    return some_html