如何远程调试Django应用?

4 投票
3 回答
6855 浏览
提问于 2025-04-16 14:06



我创建了一个Django应用程序,在我的电脑上运行得很好。
之后我把它放到了测试服务器上,但有些功能不正常。
我该如何调试呢?
我可以使用PyDev的Eclipse插件来调试吗?或者有没有其他的方法?
如果能使用“逐步进入”、“逐步跳过”、“逐步退出”这些功能那就最好了,但如果不行,简单的日志记录也可以。

更新:
在我的电脑上是用./manage.py runserver来运行的,但在测试机器上是用Apache和mod_wsgi来运行的。

3 个回答

0

我想说可以使用这个链接中的插件:https://github.com/django-extensions/django-extensions。这个插件给Django增加了很多功能。其中一个功能是可以用命令 ./manage.py runserver_plus 来启动服务器,这样当出现错误时,服务器的错误信息会在终端中显示出来(还有其他功能)。这个功能特别适合用来调试程序。

至于怎么和wsgi一起使用,我不太确定,不过你可以快速搜索一下,应该能找到不少相关的结果。

1

最简单的方法就是把 DEBUG = True 设置一段时间,这样大多数问题都能解决。如果你在生产环境中,不想因为安全问题去改这个设置,我建议你使用 sentry截图),这是一个很不错的仪表盘,可以让你看到在你的Django网站上发生的错误和问题。

不过,这两种方法都不能提供逐行调试的功能,真可惜。

3

这是一个关于如何调试通过mod_wsgi部署的应用程序的指南:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques

你是否有权限访问测试机器的根目录?如果有,那就简单多了。你可以停止Apache服务,然后以单进程模式启动它,这样更方便调试。

撰写回答