Как преобразовать 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 может использоваться только аутентифицированными пользователями.