如何在django模板中插入断点?

时间:2016-07-21 19:05:08

标签: python django django-templates

如何在django模板中插入pdb.set_trace()?或者也许在模板中运行另一个调试。

2 个答案:

答案 0 :(得分:0)

PyCharm Professional Edition支持Django模板的图形调试。有关如何执行此操作的详细信息,请访问:

https://www.jetbrains.com/help/pycharm/2016.1/debugging-django-templates.html

PyCharm的调试器非常非常好。它只是最好的Python IDE。

免责声明:我是一个满意的客户,但没有其他既得利益。

答案 1 :(得分:0)

我在这里鞭打了一个小模板标签,它允许您检查模板中任意给定点的上下文:

from django import template
register = template.Library()

@register.simple_tag(takes_context=True)
def set_breakpoint(context):
    breakpoint()

将此代码保存在[your_project]/[your_app]/templatetags/your_template_tag.py中。 (templatetags文件夹应与templates的{​​{1}}文件夹位于同一目录。)

现在,重新启动服务器。 (不要忘记这一部分!,直到重新启动服务器,模板标记才会加载!)

现在,您可以通过将以下代码放置在希望调试器运行的位置的模板中来调用模板标签:

[your_app]

Voila! Django的服务器现在将为您显示一个pdb shell,您可以在其中检查模板的整个上下文。

很明显,这仅用于开发。不要在生产中运行此代码,也不要在代码中留下断点。