我正在通过William Vincent的Django for API工作,并在我的Blog API中遇到了此身份验证代码。基本上是这样,因此只有博客文章的作者才能编辑/删除它。对我来说似乎太短了,或者缺少了一些代码。
大多数“ if author == request.user”是否只会返回True或False?实际限制未经身份验证的用户的代码在哪里?我认为我在这里缺少一些基本的东西。
代码:
A[:,:idx]
这是它继承自的类:
# posts/permissions.py
from rest_framework import permissions
class IsAuthorOrReadOnly(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
# Read-only permissions are allowed for any request
if request.method in permissions.SAFE_METHODS:
return True
# Write permissions are only allowed to the author of a post
return obj.author == request.user code here