2012-06-15 2 views
0

Я пытаюсь сделать запрос POST, используя tastypie в django.Django tastypie post request получение 401

Мой сайт выглядит, как показано ниже:

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, любую идею? Что я делаю неправильно?

Заранее спасибо.

ответ

6

Вам нужно будет установить

Authorization=Authorization() 

разрешение по умолчанию implmented по tastypie является

ReadOnlyAuthorization() 

что приводит, как вы уже догадались, только для чтения результатов, следовательно, это может привести к ошибкам.

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

ли принять к сведению, что это не лучшая практика, чтобы сделать это, однако. Существуют и другие методы авторизации, которые можно использовать.

Смежные вопросы