Skip to main content
 首页 » 编程设计

python之当请求来自远程时,调试 django 的 "nice"方法是什么

2024年08月30日31mq0036

当有人远程访问 Django 服务器时(比如,不是使用浏览器,而是使用机器人或其他自动化工具),跟踪服务器正在做什么并尝试调试的“好”方法是什么任何问题?

请您参考如下方法:

你应该做什么

调试不应该在生产服务器上进行,所以你应该使用开发服务器,这里基本上可以使用manage.py runserver+ import pdb; pdb.set_trace().

为什么你做不到

假设您的开发服务器在像 heroku 这样的平台上运行,您可能无法控制脚本的启动方式。从那里开始,使用远程调试是可能的,下面是您可以如何做到这一点:

你能做什么

如果您希望能够远程介入代码执行和调试(这完全不适合生产设置),您可以使用rpdb .我坚持认为你不应该这样做,除非你知道你在做什么(并且前提是你不在生产服务器上这样做!)

基本上,rpdb 所做的是,当您调用 rpdb.set_trace() 时,pdb 会启动,并且它的 stdin 和 stdout 被重定向到端口 4444(但您当然可以更改它)。然后您可以远程登录(或 netcat,就此而言)到该端口并从那里进行调试。

结束语

真的,你不应该这样做。