首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在 Pycharm 中调试 Django 代码片段

在 Pycharm 中调试 Django 代码片段

作者头像
YaoQi
发布2025-07-14 19:18:31
发布2025-07-14 19:18:31
12600
代码可运行
举报
运行总次数:0
代码可运行

在Pycharm中可以给代码打断点,查看变量信息等。 Django 调试代码可以运行起来打日志,但无法中断代码调试。 Django 提供了一个 manage.py shell 命令可以创建 Django 环境,手工执行代码调试。

本文介绍如何把manage shell 和 Pycharm结合起来,在不启动 Django 的情况下调试代码模块。

原理: python manage.py shell 可以用来创建一个交互式环境; python manage.py shell -c "print('hello')" 可以直接在交互环境中执行语句; import 模块时会加载运行其代码; 通常模块中可以用 if __name__ == "__main__": 判断是调试还是import运行;

因此只需把import语句放入shell -c 参数中,然后用环境变量判断是否在调试就可以了。

编辑配置

接下来可以创建或改造一个默认生成的配置:

关键点是:

  • 脚本写项目的 manage.py
  • 参数为 shell -c "from xxxx import yyy"引入你要调试的模块
  • 加一个环境变量 MANAGE_SHELL 用来区分是否在manage环境调试

然后编辑模块的 if __name__ 部分:

代码语言:javascript
代码运行次数:0
运行
复制
# file tasks.py
def sync_ali_bills():
    ...
    # 被调试的函数
    ...

import os
if __name__ == "__main__" or os.getenv('MANAGE_SHELL', False):
    sync_ali_bills()

因为有些模块可能和Django环境无关,因此我保留了__name__是否为__main__的判断,这种情况直接调试即可。

这样配置后进行调试,就可以正确加载Django环境,在代码中打断点,进行调试了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漫跑的小兔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编辑配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档