testdriven.io django 在尝试访问 postgres 时在 heroku 上提高 500
testdriven.io django raise 500 on heroku when tried to access postgres
我正在学习 https://testdriven.io/courses/tdd-django/deployment/ 中的教程。
当我在不访问 postgres 的情况下请求 get 时,一切都运行良好,
http://ancient-waters-04623.herokuapp.com/ping/ 将 return 状态 200
我完成了迁移和种子数据
$ heroku run python manage.py migrate
$ heroku run python manage.py loaddata movies.json
当我在浏览器中 运行 http://ancient-waters-04623.herokuapp.com/api/movies/ 时,它会给我错误 500
日志:
$ heroku logs --app=ancient-waters-04623 --tail
2020-09-07T10:13:51.045281+00:00 heroku[路由器]: at=info method=GET path="/ping/" host=ancient-waters-04623.herokuapp.com request_id=1895c42e-27d8-4d67-b5e8-98d0e5c3a3bd fwd="210.186.32.252" dyno=web.1 connect=0ms service=4ms status=200 bytes=225 protocol=http
我尝试通过 dbeaver 连接数据库,成功连接并加载了正确的数据。
我是 heroku 或 django 的新手,我们将不胜感激。
提前致谢
我在访问时也得到了 500 的回报
https://APP_NAME.herokuapp.com/api/movies/
我在 Dockerfile.prod 中打开了调试模式,并且能够查看具有预期数据的 DRF 可浏览 API。
这让我验证了...
if not DEBUG:
REST_FRAMEWORK = {
"DEFAULT_RENDERER_CLASSES": (
"rest_framework.renderers.JSONRenderer",
)
}
...在 settings.py 中,我确定我缺少最后一个 ','(另请参阅:https://testdriven.io/courses/tdd-django/deployment/#H-1-browsable-api)
修复该问题并在 Dockerfile.prod 中再次禁用调试模式后,我重建了映像,将其推送到 heroku 容器注册表并发布了它。现在,我从
得到了预期的 JSON 响应
https://APP_NAME.herokuapp.com/api/movies/
我正在学习 https://testdriven.io/courses/tdd-django/deployment/ 中的教程。 当我在不访问 postgres 的情况下请求 get 时,一切都运行良好, http://ancient-waters-04623.herokuapp.com/ping/ 将 return 状态 200
我完成了迁移和种子数据
$ heroku run python manage.py migrate
$ heroku run python manage.py loaddata movies.json
当我在浏览器中 运行 http://ancient-waters-04623.herokuapp.com/api/movies/ 时,它会给我错误 500
日志:
$ heroku logs --app=ancient-waters-04623 --tail
2020-09-07T10:13:51.045281+00:00 heroku[路由器]: at=info method=GET path="/ping/" host=ancient-waters-04623.herokuapp.com request_id=1895c42e-27d8-4d67-b5e8-98d0e5c3a3bd fwd="210.186.32.252" dyno=web.1 connect=0ms service=4ms status=200 bytes=225 protocol=http
我尝试通过 dbeaver 连接数据库,成功连接并加载了正确的数据。
我是 heroku 或 django 的新手,我们将不胜感激。
提前致谢
我在访问时也得到了 500 的回报
https://APP_NAME.herokuapp.com/api/movies/
我在 Dockerfile.prod 中打开了调试模式,并且能够查看具有预期数据的 DRF 可浏览 API。
这让我验证了...
if not DEBUG:
REST_FRAMEWORK = {
"DEFAULT_RENDERER_CLASSES": (
"rest_framework.renderers.JSONRenderer",
)
}
...在 settings.py 中,我确定我缺少最后一个 ','(另请参阅:https://testdriven.io/courses/tdd-django/deployment/#H-1-browsable-api)
修复该问题并在 Dockerfile.prod 中再次禁用调试模式后,我重建了映像,将其推送到 heroku 容器注册表并发布了它。现在,我从
得到了预期的 JSON 响应https://APP_NAME.herokuapp.com/api/movies/