DRF - 不允许

时间:2017-03-15 15:32:29

标签: django-rest-framework django-rest-auth

我有以下功能(仅为了完整性而显示导入):

from django.utils import timezone
from rest_framework import status
from rest_framework.response import Response
from rest_framework.authtoken.models import Token
from rest_framework.authtoken.views import ObtainAuthToken


class RefreshAuthToken(ObtainAuthToken):
    def post(self, request):
        key = request.query_params.get('auth_token').strip()
        try:
            token = self.model.objects.get(key=key)
            token.delete()
            token = Token.objects.create(user=serializer.object['user'])
            token.created = datetime.datetime.utcnow().replace(tzinfo=utc)
            token.save()
            return Response({'token': token.key})
        except self.model.DoesNotExist:
            return Response("Error", status=status.HTTP_400_BAD_REQUEST)

当我使用 /?auth_token = 619f853ac32e171facb3068c990c6eded81a59c9 访问网址时,出现错误:

{"detail":"Method \"GET\" not allowed."}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您应该通过POST请求或更改函数名称以获取。