examtest/test_server/cms/views.py

40 lines
1.5 KiB
Python

import json
import random
import warnings
from calendar import timegm
from datetime import datetime
import requests
from django.db.models import Q
from django_filters.rest_framework import DjangoFilterBackend
from openpyxl import Workbook, load_workbook
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.filters import OrderingFilter, SearchFilter
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.viewsets import ModelViewSet
from rest_framework_jwt.authentication import JSONWebTokenAuthentication
from rest_framework_jwt.serializers import (jwt_encode_handler,
jwt_payload_handler)
from rest_framework_jwt.settings import api_settings
# Create your views here.
from .models import Article
from .serializers import ArticelSerializer
from utils.custom import CommonPagination
class ArticleViewSet(ModelViewSet):
"""
文章:增删改查
"""
perms_map = [
{'get': 'article_list'}, {'post': 'article_create'},
{'put': 'article_update'}, {'delete': 'article_delete'}]
queryset = Article.objects.filter(is_delete=0).all()
serializer_class = ArticelSerializer
pagination_class = CommonPagination
filter_backends = [DjangoFilterBackend,SearchFilter, OrderingFilter]
search_fields = ('^title','^content')
ordering_fields = ('id',)
ordering = ['-id']