Изменение рендеринга формы html в представлениях django rest-framework
Здравствуйте, я еще не знаю react, поэтому я создаю панели с помощью DRF с swagger и html рендеринга с помощью Serializer и в serializer мне нужен токен данных, но в панели логина он мне не нужен. Я хочу изменить его, но в представлениях, но я не знаю, как изменить метаданные в поле create: in if request.accepted_renderer.format == 'html': my views:
class LoginAPI(generics.GenericAPIView):
serializer_class = LoginSerializer
style = {'template_pack': 'rest_framework/vertical/'}
template_name = "accounts/login_panel.html"
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
if user is not None and user.tokens is not None:
login(request, user)
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get_queryset(self):
if self.request is None:
return CreateUser.objects.none()
return CreateUser.objects.all()
def get(self, request):
serializer = LoginSerializer()
if request.accepted_renderer.format == 'html':
return Response(
{'serializer': serializer, 'style': self.style, 'messages': 'Logging'},
template_name=self.template_name)
elif request.accepted_renderer.format == 'json':
new_data = {
'messages': 'Logged in successfully'
}
new_data.update(serializer.data)
return Response(new_data, status=status.HTTP_200_OK)
else:
return Response({'error': 'Invalid format'}, status=status.HTTP_400_BAD_REQUEST)