我是django-rest的新手,所以我试图为员工创建一个只能获取或放置他们的信息的权限,我使用了has_object_permission,但我仍然可以访问所有其他用户 permissions.py: class IsHRadmin(BasePermission):
message = 'You are not allowed'
def has_permission(self,request,view):
methods = ['GET','POST','PUT','DELETE
我查看了关于同一主题的类似问题,我认为我正在遵循为has_object_permission指定的所有规则。
这就是我在我的设定中拥有的。
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
'users.permissions.CanAccessData', # this is my custom class
],
...
}
这
这是我的权限:
class IsCreationOrAuthenticatedOrIsOwnerOrWatchOrReadOnly(permissions.BasePermission):
"""
Allow only the owner (and admin) of the object to make changes (i.e.
do PUT, PATCH, DELETE and POST requests. Allow all other users
ReadOnly or Follow options. This is for U
我在Django中有这样的权限: class PermissionName(BasePermission):
def has_object_permission(self, request, view, obj):
if request.method in SAFE_METHODS:
return True
#I want to extract the pk or id params in here.
return False 有人能帮我得到请求的参数吗?我试着用self.kwargs["
我对django和后端非常陌生,我制作了两个与用户有关系的Car & Service (检查权限,同时对它们进行操作),现在我试图将它们联系起来,我注意到它们都有用户关系,但是服务不可能没有Car,所以我开始怀疑在服务中是否存在用户关系只是为了权限退化,还是最好为每个模型创建分隔权限:
汽车型号:
class Car(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
user = models.ForeignKey(User, on_del
我在项目中实现了BasePermission类,但是当我要用他的令牌检索日志用户时,它说是You don't have a permission to perform this action
permissions.py
class IsLoggedInOrAdmin(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
return obj.user == request.user or request.user.is_staff
class I
我试图使用Django Rest Framework强制执行一个权限,其中一个特定的用户不能发布一个包含用户id的对象,这个用户id不是他的。
例如,我不希望用户用另一个id发布反馈。
我的模型是:
class Feedback(Model):
user = ForeignKey(User)
...
我试图在我的视图上设置一个权限,将feedback.user.id与request.user.id进行比较,正确的工作方式可以在一个对象上发布并返回false,但它仍然在发布我的对象.为什么?
视图
class FeedbackViewSet(ModelViewSet):
我正在努力理解DRF中的许可是如何工作的。特别是何时/为什么应该使用权限,何时应该过滤查询集,以及has_object_permission()和has_permission()之间的区别,最后,序列化程序在哪里发挥作用。
例如,对于模型:
class Patient(models.Model):
user = models.OneToOneField(User, related_name='patient')
class Appointment(models.Model):
patient = models.ForeignKey(Patient, related_n
我正在使用Django REST框架来访问资源'user‘。
由于用户信息是个人信息,我不希望GET请求列出系统上的每个用户,除非他们是管理员。
如果用户指定了他们的id,并且他们已经登录,我希望他们能够查看他们的详细信息并在需要时进行修改(PUT POST DELETE)。
因此,总而言之,对于非管理员用户,不允许使用GET方法,而在查看登录用户的信息时允许使用GET POST DELETE。
我创建了自定义权限类:
class UserPermissions(permissions.BasePermission):
"""
Owners of
对象级权限
来自的示例
class IsOwnerOrReadOnly(permissions.BasePermission):
"""
Custom permission to only allow owners of an object to edit it.
"""
def has_object_permission(self, request, view, obj):
# Read permissions are allowed to any request,
# so w
我有一个从用户数据动态生成的覆盖图,所以我需要知道如何找到该覆盖图的中心。
目前,我只是使用覆盖图中的第一个坐标,但这并不代表覆盖图的中心。因此,当我加载地图时,它不会在覆盖图上居中。
有没有人有一个好的方法来使地图在叠加层上居中,通过计算中心,而不是硬编码?
var latlng = new google.maps.LatLng(38.269239, -122.276010);
var myOptions = {
zoom: 15,//Calculate this somehow?
center: latlng,// Calculate value f
我对Django-rest-framework中的BasePermission感到困惑。
这里我定义了一个类:IsAuthenticatedAndOwner。
class IsAuthenticatedAndOwner(BasePermission):
message = 'You must be the owner of this object.'
def has_permission(self, request, view):
print('called')
return False
def has_o
这是我的许可课程:
class IsCreationOrFollowOrOwnerOrReadOnly(permissions.BasePermission):
"""
Allow any users to create, get and follow objects. Allow only owners to
PUT, PATCH and DELETE.
"""
def has_permission(self, request, view):
if request.method in pe