我想做的是设置一个简单的自定义Resource
,如下所示:
MailResource(Resource):
to = fields.CharField(attribute='To')
subject = fields.CharField(attribute='Subject')
message = fields.CharField(attribute='Message')
class Meta:
resource_name = 'mail'
allowed_methods = ['post']
authorization = Authorization()
def detail_uri_kwargs(self, bundle_or_obj):
kwargs = {}
if isinstance(bundle_or_obj, Bundle):
kwargs['pk'] = bundle_or_obj.obj.uuid
else:
kwargs['pk'] = bundle_or_obj.uuid
return kwargs
def obj_create(self, bundle, request=None, **kwargs):
print bundle.obj
print request
print kwargs
# Create the object
return bundle
但是当我使用 curl 发出测试帖子请求时,我总是收到 401 UNAUTHORIZED 错误。为什么这样 ?类不是Authorization()
要为is_authorized
方法返回true。文档说Authorization()
是:
no-op 授权选项,不执行权限检查。
那为什么它失败了?
更新:
我还尝试了一个自定义授权类,无论如何它总是True
在方法中返回,但它仍然会引发 401 UNAUTHORIZED 错误。is_authorized
任何线索?