mod_python.publisher始终提供内容类型'text / plain'

时间:2008-12-07 14:27:09

标签: python content-type mod-python

我刚刚用apache设置了mod python,我正在尝试使用一个简单的脚本,但是当我加载页面时,它会发布我的所有html作为纯文本。我认为这是mod_python.publisher的一个问题,处理程序我也设置了它。我搜索了它的来源并找到了区分'text / plain'和'text / html'的行,它在我的脚本中搜索它输出的文件的最后一百个字符,所以我把它放入,然后它仍然无法正常工作。我甚至尝试评论一些代码,以便发布者将所有内容设置为“text / html”,但是当我刷新页面时它仍然做同样的事情。也许我说错了。

继承我httpd.conf中的配置

  

<目录“C:/ Program Files / Apache Software Foundation / Apache2.2 / htdocs”>
  SetHandler mod_python
  PythonHandler mod_python.publisher
  PythonDebug On   < /目录>

1 个答案:

答案 0 :(得分:3)

您的配置看起来没问题:我有一个工作的mod_python.publisher脚本,其设置基本相同。

其他一些想法:

  • 当您尝试编辑发布商源代码时,是否重新启动了Web服务器?它只在服务器首次启动时加载一次Python库。

  • Publisher的自动检测会查找结束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