【问题标题】:How do you debug unresponsive Django?你如何调试无响应的 Django?
【发布时间】:2015-09-25 00:50:19
【问题描述】:

我正在学习如何使用 git 部署 Django 站点。 我有开发、登台和生产环境。所有这些都在我的笔记本电脑上。

操作系统和服务器:Ubuntu 14.04、gunicorn、nginx。

开发环境位于 /webapps/mysite-dev/。 暂存环境位于 /webapps/mysite-staging/ 中。 生产环境位于 /webapps/mysite-production/。 我还有 3 个单独的用户,上面的目录是这些用户的主目录。

在开发环境中,我的网站运行良好。使用 Django 的开发服务器和 gunicorn。

来自开发环境:git push staging staging

Post-receive 钩子使迁移修改文件中特定于环境的信息。

然后我启动开发服务器python manage.py runserver

它开始正常。没有错误。

然后我尝试加载http://127.0.0.1:8000,但我网站的主页没有加载,并且加载无止境。

top 显示 python 进程正在消耗 50% 到 80% 的 CPU。

我用Ctrl+C停止了服务器,但是python进程不走,所以我不得不杀死它。使用 gunicorn 时也会发生同样的情况。

它看起来像一个无限循环,但我不知道错误可能在哪里。

我尝试将pdb.set_trace() 和简单的return HttpResponse("Hello world") 放在我的主页视图的第一行。没有。似乎根本无法控制程序。

我的问题:当终端和浏览器都没有错误消息时,如何调试 Django?

【问题讨论】:

  • 显示您的 urls.py 并查看主页上调用的内容。
  • urlpatterns = patterns('', url(r'^$', views.home),
  • 该站点在我的开发环境中运行良好,因此我认为该错误不在 urls.py 或主页视图中。我的问题实际上是关于在不提供任何调试信息时调试 django 的方法。而且,是的 DEBUG=True 在我的 settings.py 中
  • 该站点在开发环境中运行良好,因此您应该检查 gunicon/nginx 日志文件
  • 我遇到了同样的问题。 Django 工作正常,但正如您所描述的那样,它突然变得无响应。重新启动它(包括手动终止 python 进程)并退出我最近的所有更改并没有做任何事情。没有任何问题的迹象......它只是不起作用。

标签: python django debugging


【解决方案1】:

您的浏览器似乎没有触发开发服务器。也许尝试将 django 开发服务器绑定到特定端口 python manage.py runserver 0.0.0.0:8000 并尝试从 http://127.0.0.1:8000 访问您的站点

【讨论】:

  • 更改端口没有帮助
猜你喜欢
  • 2015-09-18
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 2016-01-19
  • 2016-01-03
相关资源
最近更新 更多