美文网首页
rest-farmework权限设置

rest-farmework权限设置

作者: 王峰芝 | 来源:发表于2018-03-20 10:31 被阅读0次

    需求:会员可以有对物品的所有权限,游客只有看的权限。

    实现: 通过观看rest-farmework源码。

    创建类 UserProfile

    class UserProfile(models.Model):

        user = models.OneToOneField(User,on_delete=models.CASCADE,primary_key=True)

        role = models.CharField(choices=UserProfile_Role_Choices,default='admin',max_length=255)

        created_at = models.DateTimeField(auto_now_add=True)

        updated_at = models.DateTimeField(auto_now=True)

    自定义增加字段 role 通过role的值判断权限

    创建权限类:

    class CustomPermissonClass(rest_framework.permissions.AllowAny):

        def has_permission(self, request, view):

            user_id = request.user.id

            role = UserProfile.objects.filter(user_id=user_id)[0].role

            if role == "test":

                if request.method in ['GET',]:  # 模仿rest farmework的权限设置 通过请求方式来控制权限

                    return True

            else:

                return True

            return False

    最后导入setting中。大工告成。

    相关文章

      网友评论

          本文标题:rest-farmework权限设置

          本文链接:https://www.haomeiwen.com/subject/uqevqftx.html