首页 > 解决方案 > 我不能在 Aiohttp 服务器的“multidict._multidict.MultiDictProxy”对象中使用更新方法

问题描述

我将一些数据发布到 AIOHTTP 服务器。在提交之前,我正在使用一些默认数据更新数据。这是代码中的一些内容。打印用于检查目的。

客户端

endpoint=basic_profile_submit
    async with session.post(url=BASE_URL+endpoint, headers=headers, data=r ) as submit_resp:
                            resp_data = await submit_resp.text()
                            print(f"Response from Server : {resp_data}")

服务器端

@auth_required
async def basic_profile_submit(self, request):
    unique_id = await authorized_userid(request)
    data = await request.post()    
    if data['profile_setup'] == "initial":
        user_code = 1111
    data.update(user_code=user_code)
    print(du_data)

追溯:

in line 7, in basic_profile_submit
data.update(user_code=user_code)
AttributeError: 'multidict._multidict.MultiDictProxy' object has no attribute 'update'

标签: pythonpython-asyncioaiohttp

解决方案


当您收到用户数据时,data = await request.post()您将收到一个multidict._multidict.MultiDictProxy. 这个类没有一个被调用的函数update()——你可以调用它data.update(user_code=user_code)——因此会抛出一个错误。


推荐阅读