【问题标题】:got multiple values for keyword argument 'response' - django获得了关键字参数“响应”的多个值 - django
【发布时间】:2017-05-04 23:30:02
【问题描述】:

我收到此错误 json_response_message() got multiple values for keyword argument 'response'

我知道我是怎么得到这个错误的,但是我找不到解决方法,有没有人能帮我一把?

这个错误的原因是因为这一行

return json_response_message(success_response(), response=response)

这是我创建的两个函数,但它们工作正常,

def json_response_message(response, **kwargs):
    data = {}
    print(response)
    print(kwargs)
    data.update(response)
    data.update(kwargs)

    return JsonResponse(data)


def success_response(*args):
    # initial message to ok
    message = 'OK'

    # if there is *args then add this to the message
    if args:
        for value in args:
            message += value

    return {
        'status': True,
        'code': 200,
        'message': message
    }

我想如果我做这样的事情,一切都会好起来的

return json_response_message(success_response(), change_this=response)

是因为response 是保留字还是什么?无论哪种方式,有没有办法我仍然可以让它碰巧是 response=response ?因为前端的所有结构都已经设置好了。只要我有一些解决方法,我真的不想改变任何东西。

有人可以帮帮我吗?提前致谢

【问题讨论】:

  • 已经问了这么多问题,您现在应该知道应该包含完整的堆栈跟踪。

标签: python django arguments response keyword


【解决方案1】:

这个错误信息说明了一切:json_response_message() got multiple values for keyword argument 'response'

您的函数定义标题def json_response_message(response, **kwargs): 表示第一个(位置)参数的值将被放置到response 变量中。然后您尝试将第二个参数(关键字参数)传递给您的函数调用(json_response_message(success_response(), response=response)),其名称对应于response - 它已经由success_response()返回的值分配

【讨论】:

  • 啊!解释后完全明白你的意思。谢谢谢谢
猜你喜欢
  • 2018-03-12
  • 1970-01-01
  • 2018-07-28
  • 2016-10-21
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多