0

djangoでtastypieを使用して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()

tastypieによって実装されるデフォルトの認証は

ReadOnlyAuthorization()

その結果、ご想像のとおり、読み取り専用の結果になるため、エラーが発生します。

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

ただし、これを行うのはベストプラクティスではないことに注意してください。使用できる承認の方法は他にもあります。

于 2012-06-24T05:10:39.347 に答える