我正在使用DRF允許我的移動應用程序的用戶對我的Web應用程序進行身份驗證。檢測第一次用戶使用Django Rest Framework進行身份驗證
我想在用戶第一次使用客戶端「登錄」時創建與此用戶關聯的模型實例。
我使用的DRF基於令牌的認證,爲我/ API /認證/端點我指着url(r'^authenticate/', restviews.obtain_auth_token),
好像來處理這一點的最好辦法是重寫ObtainAuthToken(APIView) ,通過將此類添加到我的api/views.py中。這個類看起來是這樣的:
class ObtainAuthTokenCustomized(APIView):
throttle_classes =()
permission_classes =()
parser_classes = (parsers.FormParser, parsers.MultiPartParser, parsers.JSONParser,)
renderer_classes = (renderers.JSONRenderer,)
serializer_class = AuthTokenSerializer
def post(self, request, *args, **kwargs):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
token, created = Token.objects.get_or_create(user=user)
return Response({'token': token.key})
obtain_auth_token = ObtainAuthTokenCustomized.as_view()
它看起來像我將要插入到get_or_create對於是否令牌已爲此用戶先前創建之前的測試。如果是這樣,請執行我計劃的模型實例創建。
這是否有更好的方法來處理這個問題?