Как преобразовать beforefilter из cakephp в Django?

Я переношу сайт, созданный на cakephp, на Django rest framework.

В cakephp каждый контроллер имеет родительский класс AppController. В AppController есть beforefilter. который проверяет аутентификацию/разрешение и в зависимости от разрешения вызывается другая функция для установки значения публичной переменной, присутствующей в этом классе.


class AppController extends Controller {
     public temp1 = '';
     public temp2 = array();
     public function beforeFilter(){
         
     }
}

Я хочу создать его с помощью Django Rest Framework и отправить json-ответ в приложение react. Что касается аутентификации входа, я использовал simple-jwt.

class index(APIView):
      def get(self,request):
          data = {}
          return JsonResponse(data)

Нужно ли мне реализовывать AppController в django отдельно, создавать функцию beforefilter() и вызывать beforefilter() каждый раз, когда я создаю любой api и Как насчет проверки того, аутентифицирован пользователь или нет? Есть ли более простой метод для применения beforefilter?

Вы можете просто установить атрибут permission_classes.

from rest_framework import permissions

class index(APIView):
    permission_classes = [permissions.IsAuthenticated]

    def get(self,request):
        ...

Тогда вышеуказанный APIView может использоваться только аутентифицированными пользователями.

Вернуться на верх