如何将beforefilter从cakephp转换为Django?

eqoofvh9  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(146)

我正在将cakephp中创建的网站移到Django的休息框架中。
在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)

我是否需要在Django中单独实现AppController,创建函数beforefilter(),并在每次创建API时调用beforefilter(),以及检查用户是否通过身份验证呢?有没有更简单的方法可以应用beforefilter?

wn9m85ua

wn9m85ua1#

您可以只设置permission_classes属性。

from rest_framework import permissions

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

    def get(self,request):
        ...

那么上面的APIView只能由经过身份验证的用户使用。

相关问题