Ho creato un'eccezione personalizzata riferita a http://django-rest-framework.org/api-guide/exceptions.html.Aggiunta di intestazioni di risposta personalizzate a APIException
Si prega di sapere che ho il mio backend di autenticazione. Quindi non sto usando il modulo di autenticazione di rest_framework.
Per gli errori di autenticazione, desidero aggiungere l'intestazione 'WWW-Authenticate: Token' alla risposta inviata dall'eccezione.
Qualsiasi idea sarà molto utile.
Aggiornamento:
Grazie @ Patetica, Questo è quello che ho finito per fare.
-Dispone di una classe di visualizzazione di base denominata BaseView.
-overover il metodo handle_exception per impostare intestazioni appropriate, nel mio caso 'Autenticazione WWW'.
Ecco il codice:
class BaseView(APIView):
def handle_exception(self, exc):
if isinstance(exc, MYEXCEPTION):
self.headers['WWW-Authenticate'] = "Token"
return Response({'detail': exc.detail,
status=exc.status_code, exception=True)
I vostri pensieri?
Incontrato stesso problema e il suo suggerimento ha funzionato come dovrebbe;) – Neara