首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ERROR:aiohttp.web:Error处理请求

ERROR:aiohttp.web:Error处理请求
EN

Stack Overflow用户
提问于 2016-12-15 06:20:34
回答 2查看 1.2K关注 0票数 1

我想在我的网上实现帐户注册。一切运行正常,只有一个错误,我无法在我的aiomysql中插入帐户信息。这里有回溯:

代码语言:javascript
代码运行次数:0
运行
复制
INFO:root:Request: POST /api/users
INFO:root:check user: POST /api/users
INFO:root:Response handler...
INFO:root:call with args: {'passwd': '1a4eb93dd425112e9b64374172fede31d85c462d', 'email': 'mike@163.com', 'name': 'mike'}
INFO:root:SQL: select `id`, `created_at`, `image`, `admin`, `passwd`, `name`, `email` from `users` where email=?
INFO:root:rows returned: 0
INFO:root:SQL: insert into `users` (`created_at`, `image`, `admin`, `passwd`, `name`, `email`, `id`) values (?, ?, ?, ?, ?, ?, ?)
ERROR:aiohttp.web:Error handling request
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/aiohttp/server.py", line 266, in start
    yield from self.handle_request(message, payload)
  File "/usr/lib/python3/dist-packages/aiohttp/web.py", line 87, in handle_request
    resp = yield from handler(request)
  File "/home/carrot/hqinawesomewebapp/www/app.py", line 46, in logger
    return (await handler(request))
  File "/home/carrot/hqinawesomewebapp/www/app.py", line 61, in auth
    return (await handler(request))
  File "/home/carrot/hqinawesomewebapp/www/app.py", line 80, in response
    r = await handler(request)
  File "/usr/lib/python3.5/asyncio/coroutines.py", line 219, in coro
    res = yield from await_meth()
  File "/home/carrot/hqinawesomewebapp/www/coroweb.py", line 136, in __call__
    r = await self._func(**kw)
  File "/usr/lib/python3.5/asyncio/coroutines.py", line 219, in coro
    res = yield from await_meth()
  File "/home/carrot/hqinawesomewebapp/www/handlers.py", line 174, in api_register_user
    await user.save()
  File "/home/carrot/hqinawesomewebapp/www/orm.py", line 218, in save
    rows = await execute(self.__insert__, args)
  File "/home/carrot/hqinawesomewebapp/www/orm.py", line 53, in execute
    await cur.execute(sql.replace('?', '%s'), args)
  File "/usr/local/lib/python3.5/dist-packages/aiomysql/cursors.py", line 237, in execute
    query = query % self._escape_args(args, conn)
  File "/usr/local/lib/python3.5/dist-packages/aiomysql/cursors.py", line 196, in _escape_args
    return tuple(conn.escape(arg) for arg in args)
  File "/usr/local/lib/python3.5/dist-packages/aiomysql/cursors.py", line 196, in <genexpr>
    return tuple(conn.escape(arg) for arg in args)
  File "/usr/local/lib/python3.5/dist-packages/aiomysql/connection.py", line 356, in escape
    return escape_item(obj, self._charset)
  File "/usr/local/lib/python3.5/dist-packages/pymysql/converters.py", line 27, in escape_item
    val = encoder(val, mapping)
  File "/usr/local/lib/python3.5/dist-packages/pymysql/converters.py", line 110, in escape_unicode
    return u"'%s'" % _escape_unicode(value)
  File "/usr/local/lib/python3.5/dist-packages/pymysql/converters.py", line 73, in _escape_unicode
    return value.translate(_escape_table)
AttributeError: 'builtin_function_or_method' object has no attribute 'translate'

在我的例子中,我可以进行选择操作,所以我的orm.py是可以的。但是当插入一个新的帐户时,页面就会发生这样的情况: " (HTTP500)有什么问题吗?“thx :-)

EN

回答 2

Stack Overflow用户

发布于 2016-12-15 15:21:37

很可能是将函数(func)作为参数而不是函数调用结果(func())传递到SQL中。

票数 2
EN

Stack Overflow用户

发布于 2016-12-16 06:11:59

在我的中间件中,有一个名为auth_factory的函数来验证用户:

代码语言:javascript
代码运行次数:0
运行
复制
async def auth_factory(app, handler):
    async def auth(request):
        logging.info('check user: %s %s' % (request.method, request.path))
        request.__user__ = None
        cookie_str = request.cookies.get(COOKIE_NAME)
        if cookie_str:
            user = await cookie2user(cookie_str)
            if user:
                # i wrong here
                logging.info('set current user: %s' % user.email)
                ...

我在user.email (如user.eamil )中出现了一个错误,那么一切正常,为什么这个中间件功能影响这么大?我甚至不能把数据插入mysql,这两者有一定的关系吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41157683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档