Я написал следующее представление фреймворка django:
# urls.py
url(r'user/company', views.UserViewSet.as_view({"get": "companyInfo"}), name="company_info"),
# views.py
class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
queryset = User.objects.all()
permission_classes = (permissions.IsAuthenticated,)
@action(methods=["get"], detail=True)
def companyInfo(self, request):
user = request.user
company = user.get_company()
detail = {}
detail['company'] = company.name
detail['num_users'] = company.num_licenses if company else None
return Response(detail)
Как бы я написал этот точно такой же вид, как "обычный" вид django с каркасом отдыха django. Например, что-то вроде этого:
# urls.py
path('user/company/', views.company_info, name='company_info'),
# views.py
@require_GET
def company_info(request):
user = request.user
company = user.get_company()
detail = {}
detail['company'] = company.name
detail['num_users'] = company.num_licenses if company else None
return Response(detail)
Полагаю, что вышеизложенное - начало, но я думаю, что мне все еще нужно правильно пройти аутентификацию (используя jwt), что UserViewSet
автоматически делает с permission_classes = (permissions.IsAuthenticated,)
.