django tastypie返回401总是用于POST方法,并且适用于GET

时间:2014-10-17 12:13:44

标签: python django rest tastypie

这是我的代码

     class termTypeResource(ModelResource):
        class Meta:
           queryset = TermType.objects.all()
           resource_name = 'gettermtypes'
           allowed_methods = ['get','post']

每当我为下面的api卷曲时

 curl --dump-header - -H "Content-Type: application/json" -X POST --data {"termtype":"LONG"}' --apiURL--

它正在返回(注意:我不想为api POST添加身份验证或授权)

HTTP/1.0 401 UNAUTHORIZED
Date: Fri, 17 Oct 2014 12:05:49 GMT
Server: WSGIServer/0.1 Python/2.7.6
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8

1 个答案:

答案 0 :(得分:1)

来自tastypie教程: http://django-tastypie.readthedocs.org/en/latest/tutorial.html#hooking-up-the-resource-s

  

但是,如果您尝试向资源发送POST / PUT / DELETE,那么   发现自己得到“401 Unauthorized”错误。为了安全起见,Tastypie   装有授权类(“你可以做什么”)的船只   ReadOnlyAuthorization。这样可以安全地在网络上公开,但是   阻止我们进行POST / PUT / DELETE。让我们启用那些:

authorization = Authorization()

但您将其指定为Authorization =,这是错误的。 并且,如果没有身份验证,如何在教程,POST等中提及它是不安全的。