неделю назад у меня работал django-pneon, но в последнее время я не могу вызывать какие-либо веб-сервисы.Ниже приведен простой пример.У меня есть служба тестирования, которая возвращает «да», если есть тип контента, и «нет», если тип контента равен нулю.Я сделал это, потому что я получаю ошибки HTTP 500, когда я делаю POST и пытаюсь проанализировать мои параметры через data = request.data.Я предполагаю, что не могу сделать request.data, потому что тип содержимого является нулевым?
Итак, вот мой простой веб-сервис:
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()
Таким образом, 'result' всегда возвращает no, а если я помещаю строку 'request.data' в службу, я получаю ошибку HTTP 500.
Заранее спасибо.