• Views 代码 导包


    from django.shortcuts import render
     
    # Create your views here.
     
     
    from django.http import HttpResponse
    from django_filters.rest_framework import DjangoFilterBackend
     
    from rest_framework import viewsets
    from rest_framework.authentication import BaseAuthentication,SessionAuthentication
    from rest_framework.decorators import action
    from rest_framework.decorators import action
    from rest_framework.filters import OrderingFilter
     
    from rest_framework.permissions import AllowAny,IsAdminUser,IsAuthenticated,IsAuthenticatedOrReadOnly
    from rest_framework.response import Response
    from rest_framework.throttling import UserRateThrottle
    from rest_framework.pagination import PageNumberPagination
    from rest_framework.views import APIView
    from rest_framework.permissions import BasePermission,SAFE_METHODS
    from rest_framework.viewsets import ModelViewSet
     
    from user.models import User
    from user.serializers import UserSerializer
     
     
    def index(request):
    return HttpResponse("hello")
     
     
    class PageNum(PageNumberPagination):
    page_size_query_param = 'page_size'
    max_page_size = 2
     
    class MyPermission(BasePermission):
    def has_permission(self, request, view):
    print(view.kwargs.get('pk'),request.user.id)
    print(request)
     
    if request.user.is_superuser:
    return True
    elif view.kwargs.get('pk') ==str(request.user.id):
    return True
    return False
    def has_object_permission(self, request, view, obj):
    if request.user.id==obj.id:
    return True
    return False
     
     
     
    class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
     
    pagination_class = PageNum
     
    throttle_classes = [UserRateThrottle]
     
    filter_backends = (DjangoFilterBackend,OrderingFilter)
     
    ordering_fields=('username','phone','id')
    filter_fields=('username','phone','is_active')
     

  • 相关阅读:
    记一次小程序支付开发的坑,超级坑
    springboot集成redis 附redis基本操作类
    springboot整合mybatis及封装curd操作-配置文件
    微信小程序开发
    vue各种插件
    java数据导出成 EXCEL
    jsp自定义标签
    java生成验证码
    文字对齐格式
    css阴影效果
  • 原文地址:https://www.cnblogs.com/xiaoxiamiaichiyu/p/13742058.html
Copyright © 2020-2023  润新知