如何使用 pycharm 调试/断点我的 django 应用程序?
Posted
技术标签:
【中文标题】如何使用 pycharm 调试/断点我的 django 应用程序?【英文标题】:how do i debug/breakpoint my django app using pycharm? 【发布时间】:2012-06-30 13:18:32 【问题描述】:我正在尝试解决如何运行 pycharm 似乎提供的调试功能(好吧,无论如何,它允许我设置断点,所以我假设它有一个不错的 gui)
我得出的结论是我不能使用 ctrl-shift-r 然后“runserver”命令,而是需要设置“运行配置”?我做了一个“django 服务器”,但我不知道要放什么值等等。当我运行它时,它告诉我某些设置是错误的 - 我很确定它不是,因为标准的“runserver " 命令运行良好。
这就是我得出的结论。如果有一个漂亮的教程或步骤来获得它,那么我可以
-
设置断点
转到触发该断点的页面并按照代码在 pycharm 中的内部工作
我会很激动的!
干杯!
更新:如果您想知道,这是我得到的错误:
Traceback(最近一次调用最后一次):
文件“manage.py”,第 11 行,在 导入设置
文件“C:\development\PycharmProjects\dumpstown\settings.py”,第 185 行,在 add_to_builtins('gravatar.templatetags.gravatar')
文件“C:\development\python\lib\site-packages\django\template\base.py”,第 1017 行,在 add_to_builtins 中
builtins.append(import_library(module))
文件“C:\development\python\lib\site-packages\django\template\base.py”,第 963 行,在 import_library 中
raise InvalidTemplateLibrary("ImportError raise loading loading %s: %s" % (taglib_module, e))
django.template.base.InvalidTemplateLibrary: ImportError raise loading loading gravatar.templatetags.gravatar: 无法导入设置,因为环境变量 DJANGO_SETTINGS_MODULE 未定义。
应用程序本身在“运行服务器”上从来没有任何问题。
更新:根据我在下面的回答,pycharm 对于 add_to_builtins 已损坏。
【问题讨论】:
【参考方案1】:问题是应该指向项目设置文件的DJANGO_SETTINGS_MODULE
变量没有在任何地方设置,因为据报告该变量未定义。
您可以参考的解决方案和解释可以在previous post中找到
【讨论】:
【参考方案2】:设置您的虚拟环境
-
在 PyCharm 中创建或打开您的项目
转到菜单中的文件 - 设置(或直接点击设置图标)
转到 Python 解释器
点击顶部的添加
转到您创建虚拟环境的 bin 文件夹并选择 python
设置断点
-
在要设置断点的代码行旁边。左边通常有一条灰线。通常在行号旁边。只需点击那里,就会出现一个大红点。 Looks like this
点击在调试模式下运行按钮。
在绿色播放按钮旁边有一个带有错误的按钮。使用它以调试模式启动运行服务器。现在,当您使用您的 Web 应用程序并且代码到达断点时,它将停在那里,您将能够单步执行或在 pycharm 中继续执行。
如果您仍然无法调试,您可能需要编辑 pycharm 项目配置。你可以做that like this.你也可以看看http://garmoncheg.blogspot.it/2012/01/establishing-dev-environment-with.html
【讨论】:
【参考方案3】:所以我在这里给所有的答案一个 +1 的尝试 - 但他们不是问题。据我所知,答案是 pycharm 坏了。这很痛苦,但解决方案很简单 -
如果你不'想使用 pycharm 顶部的绿色小按钮,或者使用 pycharm 调试功能?那么别担心,你不需要做任何事情。继续使用 ctrl-shift-r 和 runserver(或任何你的 manage.py 快捷方式)
如果你确实想使用绿色的小“运行”按钮,或者如果你想使用 pycharm 的调试工具包,那么你绝对不能使用“add_to_builtins” ,至少在 settings.py 文件中(我自己从来没有把它放在其他任何地方,pycharm 可能在其他地方需要它?)。 add_to_builtins
在 pycharm 中不起作用 - 当您使用绿色小按钮或调试按钮时,它会陷入严重后果的循环中。奇怪的是,使用 ctrl-shift-r 和 runserver 没有这个问题。
好消息是“add_to_builtins”不是必须具备的,只是一个不错的选择。只需将“% load x %”命令添加到您使用 x 的每个模板,您就会被设置。 或者,节省一百美元并使用某种免费的 eclipse 工具。
【讨论】:
【参考方案4】:问题与 DJANGO_SETTINGS_MODULE 无关。 Pycharm 在创建项目时设置它。而是转到绿色的小“播放按钮”以运行脚本。您想将其配置为运行 manage.py,即您将播放按钮配置为运行命令python manage.py runserver
。
细分:
python
------>用python解释器运行
manage.py
-------->运行这个脚本
runserver
---------> 参数
所以转到绿色播放按钮左侧的下拉菜单
,
点击编辑配置。你会得到一个像这样的屏幕
.
如图所示填写它,找到您的 manage.py 源脚本。确保在参数框中包含 runserver。现在您可以单击绿色的 debug 按钮,您的程序将在遇到的第一个断点处停止,允许您在完全调试模式下查看变量和所有内容。现在您可以在终端上手动键入 python manage.py runserver 或使用 newley 配置的运行按钮。
【讨论】:
谢谢一帮朋友。 很高兴答案对您有所帮助@seekme_94 谢谢,但对我来说,我需要添加额外的环境变量 DJANGO_SETTINGS_MODULE =以上是关于如何使用 pycharm 调试/断点我的 django 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 调试器(PyCharm)中执行 n 步(迭代)?
如何在 Python 调试器(PyCharm)中执行 n 步(迭代)?
如何使用 PYCHARM 社区版调试 Django 应用程序