在 Pycharm 中调试 Django 代码片段

news/2025/3/17 12:52:14/文章来源:https://www.cnblogs.com/tinyhare/p/18771921

在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__ 部分:

# 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环境,在代码中打断点,进行调试了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900335.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

四则运算系统

这个作业属于哪个课程 软件工程2班这个作业要求在哪里 结对项目这个作业的目标 团队共同实现一个自动生成小学四则运算题目的命令行程序合作人员朱雅子 3223004823 黄海怡 3223004296项目地址Github链接 一、PSP表格PSP2.1 Personal Software Process Stages 预估耗时(分钟) …

【每日一题】20250317

小时候以为人生是踏歌而行,后来才明白其实脚下踏着的是利刃和刀锋。【每日一题】(不定项)已知曲线 \(C_1\):\(y=\cos x\),\(C_2\):\(\displaystyle y=\sin(2x+\frac{2\pi}{3})\). (1) 下列结论正确的是 A. 把 \(C_1\) 上各点的横坐标伸长到原来的 \(2\) 倍,纵坐标不变,…

asyncio协程

目录使用协程重要的几个函数使用异步方法爬取Microsoft Bing图片asyncio.Queue(maxsize=) 说明1: 正常的程序都是从上到下依次执行的,如果遇到了要等待的地方,就会阻塞,等待相应的代码执行完毕后,再往下执行。 说明2: 协程(Coroutine) 是一种特殊的函数,它可以在执行过…

生产管理到底是啥?生产计划又该怎么做?

你是不是经常听到“生产管理”这四个字,但总觉得它挺虚的? 其实,生产管理说白了,就是为了让工厂或企业的生产顺利进行,保证产品按时、高质量、低成本地交付。这里面涉及到人、机器、原材料、时间、成本等各种因素,怎么把这些东西合理安排,就是生产管理的核心。 而生产计…

【日记】带着半边脸的眼影跑了小半个新区县城……(2302 字)

正文这个周末,充实到仿佛跟工作日的自己像是两个人。事情一件件来说吧。周五太过遥远,记不清了;周六几乎全天都在研究化妆;周天又几乎全在跳舞。第一件事,研究化妆。周五的晚上,基本上所有的化妆品就都到了。拆了好多好多。周六上午就试了一下所有的化妆品。不得不说,男…

AMBA总线学习(二)---AHB-Lite

AHB-Lite的硬件架构可以分为四部分,分别是Master、Slave、Decoder、MUX。 Maeter信号:Name Destination DescriptionHADDR[31:0] slave和decoder 32bit的地址总线(不是严格限制为32bit)HBURST[2:0] slave 突发传输类型HMASTERLOCK slave 用来实现原子操作的HPROT[3:0] slav…

可视化图解算法:判断链表中是否有环(环形链表)

判断链表是否存在环有个**小技巧**:**快慢指针法**。定义2个指针变量(即快慢指针),初始化时快慢指针都指向头节点,每次快指针每次移动 2 个节点,慢指针每次移动 1 个节点。如果 快指针指向的节点为null或者快指针指向节点的下一个节点为空,则链表没有环;如果快慢指针相…

新书上线 |《零门槛AIGC应用实战——Serverless+AI 轻松玩转高频AIGC场景》免费下载

《零门槛AIGC应用实战——Serverless+AI 轻松玩转高频AIGC场景》电子书正式上线!多种精选 AI 部署方案带你深入了解 Serverless+AI 最新趋势、AI 应用的架构设计与详细的部署教程等。函数计算 AI 技术解决方案助您一键上云,高效部署。《零门槛AIGC应用实战——Serverless+AI …

linux中安装intel wifi ax101驱动

目录前奏安装在Ubuntu中FAQ 资料参考 获取帮助 前奏 rambo@ub24-1:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 24.04.1 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04.1 LTS (Noble Numbat)" ........rambo@ub24-1:~$ cat…

桌面级CPU、显卡天梯图

手动更新,收藏所有(来源:秋刀鱼半藏)《史上最全桌面级CPU天梯图》专用更新帖(公测版) 版本:V6.077,时间:2024.11 《史上最全桌面级显卡天梯图》专用更新帖(公测版) 更新时间:2025.03.06

Qwen2-VL华为卡300i duo环境搭建推理测试

引子 前面也写过华为300i duo DeepSeek的环境搭建&推理测试,感兴趣的同事请移步(https://blog.csdn.net/zzq1989_/article/details/146149684?spm=1001.2014.3001.5501)。多模态华为卡的适配倒是一直没有出过相关的博客。刚好遇到需要Qwen2-VL的配置,安装。OK, 那就让…

EWM528-2G4NW20SX系列LORA MESH无线组网模块深度测评

1.LORA MESH模块产品简介 EWM528-2G4NW20SX、EWM528-2G4NW27SX系列LORA MESH无线组网模块基于先进的无线通信技术打造。在输出功率方面,LORA MESH模块能提供稳定且适配多种场景的功率支持,保障信号的有效传输范围。空中速率表现出色,可满足大量数据快速传输的需求,提升工作…