Django Piston 内容类型始终为空
一周前我让 django-piston 工作,但最近我无法调用任何网络服务。下面是一个简单的例子。我有一个“测试”服务,如果存在内容类型,则返回“是”;如果内容类型为空,则返回“否”。我这样做是因为当我执行 POST 并尝试通过“data = request.data”解析我的参数时收到 HTTP 500 错误。我假设我无法执行 request.data 因为内容类型为 null?
所以,这是我的简单 Web 服务:
class testHandler(BaseHandler):
def create(self, request):
if request.content_type:
return 'yes'
else:
data = request.data
return 'no'
这是 urls.py 文件:
class CsrfExemptResource( Resource ):
def __init__( self, handler, authentication = None ):
super( CsrfExemptResource, self ).__init__( handler, authentication )
self.csrf_exempt = getattr( self.handler, 'csrf_exempt', True )
controller_handler = CsrfExemptResource(controllerHandler)
test_handler = CsrfExemptResource(testHandler)
urlpatterns = patterns('',
url(r'^controller/', controller_handler),
url(r'^test/', test_handler),
)
最后是我从 python 终端运行来调用该服务的代码:
params = urllib.urlencode({'value':'someValue'})
req = urllib2.Request("http://127.0.0.1/cindy/api/test/", params)
result = urllib2.urlopen(req).read()
所以“结果”总是返回 no,如果我将“request. data' 在服务中我收到 HTTP 500 错误。
提前致谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为 data 属性="nofollow noreferrer">HttpRequest 对象。您可能正在寻找
raw_post_data
。I don't think there is a
data
attribute in the HttpRequest object. You might be looking forraw_post_data
.