我正在尝试使用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']
Run Code Online (Sandbox Code Playgroud)
我发布的数据如下:
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)
Run Code Online (Sandbox Code Playgroud)
我总是得到401,任何想法?我做错了什么?
提前致谢.
你需要设置
Authorization=Authorization()
Run Code Online (Sandbox Code Playgroud)
tastypie所规定的默认授权是
ReadOnlyAuthorization()
Run Code Online (Sandbox Code Playgroud)
这导致,你猜对了,只读结果,因此它会导致错误.
http://django-tastypie.readthedocs.org/en/latest/tutorial.html
请注意,不是这样做的最佳做法.还可以使用其他授权方法.
| 归档时间: |
|
| 查看次数: |
2946 次 |
| 最近记录: |