错误消息:“'NoneType' 对象不可调用”。 - 从 zappa 接收到在 AWS Lambda 上部署的 django 应用程序
Error message: "'NoneType' object is not callable". - received from zappa deployed django application on AWS Lambda
使用 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' object is not callable”。
谁能理解我为什么会得到这个?
您的代码中出现异常。我发现 NoneType
是使用 AWS Lambda 和 Zappa 时的一般错误,它掩盖了真正的问题。
一些调试步骤:
- 当您 运行
python manage.py runserver
时,确保您的代码在本地工作
- 在代码的不同位置输出控制台消息,运行
zappa tail
识别有问题的代码部分
- 重复上述选项,直到缩小问题范围。
我 运行 遇到了类似的问题,尝试安装不同版本的 flask,发现它实际上在我的 zappa 配置文件中。我有 "slim_handler" : "True"
,删除它解决了我的问题。
使用 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' object is not callable”。
谁能理解我为什么会得到这个?
您的代码中出现异常。我发现 NoneType
是使用 AWS Lambda 和 Zappa 时的一般错误,它掩盖了真正的问题。
一些调试步骤:
- 当您 运行
python manage.py runserver
时,确保您的代码在本地工作
- 在代码的不同位置输出控制台消息,运行
zappa tail
识别有问题的代码部分 - 重复上述选项,直到缩小问题范围。
我 运行 遇到了类似的问题,尝试安装不同版本的 flask,发现它实际上在我的 zappa 配置文件中。我有 "slim_handler" : "True"
,删除它解决了我的问题。