使用tastypie登录用户

时间:2013-10-15 08:06:17

标签: python django tastypie

我遵循了这个例子here,因为我想为我的django app添加tastypie登录。我做了必要的更正,因为已弃用的方法并运行它。注销过程可以正常工作。但是我在登录页面中收到错误。

expected string or buffer

和500状态代码。当我尝试绝望发布数据时出现错误。登录视图如下

 def login(self, request, **kwargs):
    self.method_check(request, allowed=['post',])
    try:
        data = self.deserialize(request, HttpRequest.body, format=request.META.get('CONTENT_TYPE', 'application/json'))
    except BaseException as e:
        print e

    username = data.get('username', '')
    password = data.get('password', '')
    print username, password

    user = authenticate(username=username, password=password)
    if user:
        if user.is_active:
            print 'Before login'
            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 )

我使用python请求发布数据以进行测试

data = {'username':'user', 'password':'pass}
parmas = json.dumps(data)
headers = {'content-type': 'application/json'}
resp = requests.post('http://127.0.0.1:8000/api/v1/user/login/', data=params, headers=headers)

这个错误是什么意思?

0 个答案:

没有答案