错误消息:"'NoneType' object is not callable" 。- 从 AWS Lambda 上的 zappa 部署的 django 应用程序接收



使用 zappa 将我的 django 应用程序部署到 lambda 后,我遇到了错误。

这是错误:

{'message': 'An uncaught exception happened while servicing this request. You can investigate this with the `zappa tail` command.', 'traceback': ['Traceback (most recent call last):', ' File /var/task/handler.py, line 540, in handler with Response.from_app(self.wsgi_app, environ) as response:', ' File /var/task/werkzeug/wrappers/base_response.py, line 287, in from_app return cls(*_run_wsgi_app(app, environ, buffered))', ' File /var/task/werkzeug/wrappers/base_response.py, line 26, in _run_wsgi_app return _run_wsgi_app(*args)', ' File /var/task/werkzeug/test.py, line 1119, in run_wsgi_app app_rv = app(environ, start_response)', TypeError: 'NoneType' object is not callable]}

这些是我的 zappa 设置:

{
"production": {
"aws_region": "eu-west-2",
"django_settings": "app.settings",
"profile_name": "deployment",
"project_name": "app",
"runtime": "python3.6",
"s3_bucket": "zappa-deployment-uploads",
"slim_handler": true,
"exclude": [".ebextensions/", ".elasticbeanstalk/", "webpack/", "app/static/"],
"vpc_config" : {
"SubnetIds": [ "..."],
"SecurityGroupIds": ["..."]
}
}

我已确保我的 API 网关主机名已添加到允许的主机设置并重新部署。

我已经调用了 zappa tail,但它给了我一个更短的错误响应"'NoneType'对象不可调用"。

谁能理解我为什么会得到这个?

代码中抛出了一个异常。 我发现在使用AWS Lambda和Zappa时NoneType这是一个一般性错误,掩盖了真正的问题。

一些调试步骤:

  1. 确保代码在运行时在本地工作python manage.py runserver
  2. 在代码中的不同位置输出控制台消息,并运行zappa tail以识别出现问题的代码部分
  3. 重复上述选项,直到缩小问题的位置。

我遇到了类似的问题,尝试安装不同版本的 flask,发现它实际上在我的 zappa 配置文件中。我"slim_handler" : "True",删除它为我解决了问题。

相关内容

  • 没有找到相关文章

最新更新