如何在 HTTP 请求后正确捕获 Django REST Framework 调试会话中的断点?调试 DRF 项目时
断点在启动调试过程时触发,而不是在发送 HTTP 请求后触发。
我设置 "justMyCode": false 而不是 true 当我开始调试过程时,所有步骤都会调试到 WSGI 服务器启动的位置,如以下输出所示:
sql 复制代码 ... 系统检查未发现任何问题(0 已静音)。 三月 13, 2024 - 02:36:24 Django 版本 5.0.3,使用设置“tuto.settings” 在 http://127.0.0.1:8000/ 启动开发服务器 使用 CONTROL-C 退出服务器。
但是,发送 HTTP 请求后,我立即收到响应,在此过程中没有遇到断点。
您可以采取一些步骤来确保发送 HTTP 请求后正确命中断点:
调试器配置:确保您的调试器已正确配置为附加到 Django 开发服务器进程。这通常涉及设置 IDE(例如 Visual Studio Code、PyCharm 等)以将调试器附加到正在运行的 Django 服务器进程。
断点放置:将断点放置在您希望调试器暂停执行的相关代码中。这可能位于您的视图函数、序列化器、中间件或 Django 应用程序的任何其他部分中。
请求处理流程:了解 Django REST Framework 中请求处理的流程。确保您的断点放置在请求处理期间执行的代码部分中。
调试器设置:检查调试器设置以确保其配置为调试所有代码(justMyCode: false)。这可确保调试器不会跳过库或框架代码中的断点。