0

我正在尝试在 django 中使用 sweetpie 进行 POST 请求。

我的资源如下所示:

class TestResource(ModelResource):
    class Meta:
        queryset = Test.objects.all()
        resource_name = 'test'
        serializer = Serializer(formats=['json','xml'])
        always_return_data = True
        detail_allowed_methods = ['get', 'post', 'put', 'delete']

我正在发布如下数据:

import sys
import requests


DATA = {'field1':'posting data', 'field2':'123', 'field3':330303,}

def post(data):
    url = 'http://127.0.0.1:8000/api/test/'
    logging = {'verbose':sys.stderr}
    response = requests.post(url,data=data,config=logging)
    print "RESPONSE STATUS", response.status_code
    print "RESPONSE HEADERS", response.headers



if __name__=='__main__':
    post(DATA)

我总是得到401,知道吗?我做错了什么?

提前致谢。

4

1 回答 1

6

您将需要设置

Authorization=Authorization()

sweetpie 实现的默认授权是

ReadOnlyAuthorization()

您猜对了,这会导致只读结果,因此会导致错误。

http://django-tastypie.readthedocs.org/en/latest/tutorial.html

请注意,这样做并不是最好的做法。还有其他可以使用的授权方法。

于 2012-06-24T05:10:39.347 回答