我有以下功能(仅为了完整性而显示导入):
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."}
我该如何解决这个问题?
答案 0 :(得分:1)
您应该通过POST请求或更改函数名称以获取。