首先要在models表中添加一个用户类型的字段:
class User(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) type_choice=((1,"普通用户"),(2,"VIP"),(3,"SVIP")) user_type=models.IntegerField(choices=type_choice,default=1)
#######################权限类#############################33 class SVIPPermission(object): message="只有超级用户拥有访问权限!" def has_permission(self,request,view): username=request.user user_type=User.objects.filter(name=username).first().user_type if user_type ==3: return True else: return False
views.py中只需要导入一下即可:
from app01.utils import SVIPPermission from rest_framework import viewsets class AuthorModelView(viewsets.ModelViewSet): permission_classes = [SVIPPermission] queryset=Author.objects.all() serializer_class=AuthorModelSerializers
settings中进行配置:
REST_FRAMEWORK={ "DEFAULT_AUTHENTICATION_CLASSES":["app01.utils.TokenAuth",], "DEFAULT_PERMISSION_CLASSES":["app01.utils.SVIPPermission",], }
原文:https://www.cnblogs.com/geogre123/p/9749787.html