web.py在Apache服务器上打印html代码

时间:2011-07-19 06:15:47

标签: python apache web.py

我通过安装flups为我的Apache服务器配置了web.py.但是,当我转到我的应用程序时,打印html代码而不是html页面。 (见下文)。

Content-Type: text/html

<HTML><HEAD><TITLE>Login Details</TITLE></HEAD><BODY>.......</BODY></HTML>

我使用以下代码在同一目录中创建了另一个文件Test.py

#!/usr/bin/python
print "Content-Type: text/html\n\n"
print "<html><head></head><body>Present</body></html>"

这打印出页面很好。这两个文件都具有相同的可执行权限。(chmod 755)。

为什么会发生这种情况?

更新:刚刚发现。如果我将return语句更改为我的应用程序的GET方法内的print,它会打印出正确的表单,但最后也打印出cookie,会话ID等。我需要配置什么才能使返回按预期工作?

添加会导致问题的示例代码:

#!/usr/bin/python
import web
urls = ("/CodeAnalyzer", "CodeAnalyzer")
app = web.application(urls, globals())

class CodeAnalyzer:
    def GET(self):
        init="Content-Type: text/html\n\n"
        form="<html><head></head><body>Hello World</body><html>"
        return init+form

if __name__ == "__main__":
    app.run()

1 个答案:

答案 0 :(得分:1)

问题在于此 init="Content-Type: text/html\n\n"
这是在web.py中传递标头的错误方法。更换后问题得到解决 web.header('Content-Type','text/html; charset=utf-8', unique=True)