我通过安装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()
答案 0 :(得分:1)
问题在于此
init="Content-Type: text/html\n\n"
这是在web.py中传递标头的错误方法。更换后问题得到解决
web.header('Content-Type','text/html; charset=utf-8', unique=True)