每当浏览器发送OPTIONS请求时,Django REST将其注册为一个PUT请求。在
我在写许可证的时候注意到了。我使用传递到def has_object_permission( self, request, view, obj ):
的默认请求参数。在
使用request.method
将为每个请求(选项除外)返回正确的请求方法。
但是,当我在项目的不同部分的my get_permission( self, request, view ):
函数中使用request.method
时,会返回正确的响应。has_object_permission()
函数是否有问题?在
目前我只检查请求是否被PUT,因为我相信Django不会使用PUT请求。但如果我能用真名就好了。在
我的Django REST版本是3.9.0
在Cross-origin resource sharing(CORS)中,OPTIONS请求通常用于所谓的“飞行前”请求。这与
has_object_permission()
没有任何问题,只是您的视图可能不打算处理这些飞行前请求。在这个SO帖子中有一个更详细的答案:https://stackoverflow.com/a/29954326/784648相关问题 更多 >
编程相关推荐