我正在使用Django和Piston,我创建了以下处理程序:
from piston.handler import BaseHandler
import datetime
import json
class NotificationHandler( BaseHandler ):
allowed_methods = ('POST',)
def create( self, request, token ):
return json.dumps( datetime.datetime.now() )
当向这个处理程序发出请求时,我得到一个html页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>something</title>
<META name="description" content="something"><META name="keywords" content="something">
</head>
<frameset rows="100%,*" border="0">
<frame src="http://something.com/pay/notify/345345/" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
<!-- pageok -->
<!-- 03 -->
<!-- -->
</html>
看起来它正在把这个调用变成一个框架集。 但是我希望得到类似的东西:
"2012-01-11 00:17:24"
我正在使用带有mod_wsgi的apache。 当从PyCharm IDE提供的服务器本地运行项目时,我得到了预期的json值。
我不确定为什么我会得到不同的结果,因为我使用相同的脚本来发出请求(使用相同的标题)。
什么会让Piston返回HTML页面而不是原始的json字符串?可能是标题?
答案 0 :(得分:0)
检查您的Apache配置并确保调用该函数(引发像David Robinson提议的异常)。
答案 1 :(得分:0)
考虑使用以下描述的WSGI应用程序包装器:
http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Tracking_Request_and_Response
捕获请求的输入和输出。
这将允许您验证Django是否被调用,以及返回到mod_wsgi的内容,因此确定问题是否在Django中是否存在Apache缓存或其他在应用程序返回响应后导致问题的情况。