目錄許可權就是某些功能只對特定的使用者開放,比如django中建立使用者可分為超級使用者和普通使用者,此時超級使用者就有許可權進入後台管理系統,而普通使用者就沒有許可權,這是怎麼做到的呢?
這就是許可權元件的作用。
from rest_framework.permissions import basepermission
class userpermission(basepermission):
"""自定義許可權類:繼承basepermission,重寫has_permission方法"""
message = '不是超級使用者,檢視不了'
def has_permission(self, request, view):
# user_type = request.user.get_user_type_display()
# if user_type == '超級使用者':
return httpresponse('post')
區域性使用只需要在檢視類裡加入:
permission_classes = [userpermission,]
# 在settings.py中進行設定
rest_framework=
# permission.py
def check_permissions(self, request):
for permission in self.get_permissions():
if not permission.has_permission(request, self):
self.permission_denied(
request, message=getattr(permission, 'message', none)
)
# self.get_permissions()
def get_permissions(self):
return [permission() for permission in self.permission_classes]
許可權類使用順序:先用檢視類中的許可權類,再用settings裡配置的許可權類,最後用預設的許可權類 DRF過濾元件
from rest framework import pagination 基礎分頁 class pagenumberpagination pagination.pagenumberpagination 預設一頁顯示的條數 page size 2 查詢頁面的關鍵字 page query param ...
drf過濾元件
主要包含分頁,搜尋,排序,分類,區間 系統基礎分頁器from rest framework import pagination class freecourselistviewset listmodelmixin,genericviewset queryset models.course.objec...
drf 分頁元件
目錄可以達到檢視第幾頁以及每一頁顯示幾條的效果 from rest framework.pagination import pagenumberpagination 一 基本使用 url url 無效 class pager apiview def get self,request,args,kwa...