我有一个接受 id 的端点task/:task_id/。但是当我尝试访问端点中的 id 时,我收到此错误。TypeError: get() got multiple values for argument 'task_id'
我试图给 task_id 参数一个 none 默认值。
from huey.contrib.djhuey import HUEY
from rest_framework.views import APIView
class TaskStatus(APIView):
def get(self, task_id):
return Response({
'result': Huey.result(task_id)
})
Run Code Online (Sandbox Code Playgroud)
url(r'tasks/(?P<task_id>[a-f0-9\-]{36})/', TaskStatus.as_view(), name='task-status'),
Run Code Online (Sandbox Code Playgroud)
我希望task_id从 url 参数返回 id。
sho*_*ner 11
的第一个参数get必须是request它自己。改变
def get(self, task_id):
...
Run Code Online (Sandbox Code Playgroud)
对这个:
def get(self, request, task_id):
...
Run Code Online (Sandbox Code Playgroud)
你的get功能错了。您收到错误消息的原因是该函数没有足够的参数,因为它也需要一个request参数。
由于有 1 个参数短,因此会出现错误消息,因为它试图将两者request和参数都压缩task_id到task_id参数中,因此是错误消息的“多个值”部分。
这应该可以解决问题。
class TaskStatus(APIView):
def get(self, request, task_id):
return Response({
'result': Huey.result(task_id)
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5221 次 |
| 最近记录: |