我刚刚用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 < /目录>
答案 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