我试图在tastypie Api中创建一个Login模块,当使用Postman REST客户端测试它时出错.
Method : POST
format : application/json
content type : json
raw data: {
'type': 'login',
'username': 'username',
'password': 'password'
}
def login(self, request, **kwargs):
self.method_check(request, allowed=['post'])
data = self.deserialize(request, request.raw_post_data, format=request.META.get('CONTENT_TYPE', 'application/json'))
username = data.get('username', '')
password = data.get('password', '')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request, user)
return self.create_response(request, {
'success': True
})
else:
return self.create_response(request, {
'success': False,
'reason': 'disabled',
}, HttpForbidden )
else:
return self.create_response(request, {
'success': False,
'reason': 'incorrect',
}, HttpUnauthorized )
Run Code Online (Sandbox Code Playgroud)
{"error_message":"期望属性名称:第1行第1列(字符1)","追溯":"追溯(最近一次调用最后一次):\n \n文件\"/ home/sayone/virtuals/pharma/local /lib/python2.7/site-packages/tastypie/resources.py \",第178行,在包装器中\n response = callback(request,*args,**kwargs)\n \n File \"/ home/sayone /virtuals/pharma/local/lib/python2.7/site-packages/tastypie/resources.py \",第379行,在dispatch_list \n中返回self.dispatch('list',request,**kwargs)\n \n文件\"/ home/sayone/virtuals/pharma/local/lib/python2.7/site-packages/tastypie/resources.py \",第409行,在dispatch \n response = method(request,**kwargs) \n \n文件\"/ home/sayone/virtuals/pharma/local/lib/python2.7/site-packages/tastypie/resources.py \",第1077行,在post_list \n deserialized = self.deserialize(request,request.raw_post_data,format = request.META.get('CONTENT_TYPE','application/json'))\n \n File \"/ home/sayone/virtuals/pharma /local/lib/python2.7/site-packages/tastypie/resources.py \",第328行,反序列化\n deserialized = self._meta.serializer.deserialize(data,format = request.META.get('CONTENT_TYPE ','application/json'))\n \n File \"/ home/sayone/virtuals/pharma/local/lib/python2.7/site-packages/tastypie/serializers.py \",第157行,反序列化\n deserialized = getattr(self,\"from_%s \"%desired_format)(内容)\n \n文件\"/ home/sayone/virtuals/pharma/local/lib/python2.7/site-packages/tastypie /serializers.py \",第301行,在from_json \n中返回simplejson.加载(内容)\n \n文件\"/ usr/lib/python2.7/json /init .py \",第326行,在loads \n中
返回_default_decoder.decode(s)\n \n File \"/ usr/lib/python2.7/json/decoder.py \",第366行,在解码\n obj,end = self.raw_decode(s,idx = _w(s,0).end())\n \n File \"/ usr/lib/python2.7/json/decoder.py \",第382行,在raw_decode \n
obj中,end = self.scan_once(s,idx)\n \nValueError:期望属性名称:第1行第1列(字符1)\n"}
用双引号替换单引号ex:
{"type":"login","username":"username", "password":"password" }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
874 次 |
最近记录: |