为什么pdb.set_trace()在模板标签定义中不起作用?

时间:2012-02-10 13:40:54

标签: python django templatetags

我写了一个模板标签来解决重复创建特殊表单的问题。逻辑有些问题,所以我插入了pdb.set_trace()来获取它的根源。但奇怪的是,当我调用templatetag时,这个set_trace()似乎永远不会被执行。标签看起来像这样:

@register.tag('get_loop_form')
def get_loop_form(parser,token):

    import pdb;pdb.set_trace()

    #put some logic here

    return GetLoopForm()

我只是在模板中调用它:

{% get_loop_form %}

当我这样做时,通常我有机会在set_trace()的行上与脚本进行交互。当我将set_trace()插入GetLoopF​​orm.render方法时,它可以工作,但是当我将它插入get_loop_form时。为什么不呢?

编辑:手动重启Django开发服务器,导致上面的代码工作。我仍然不明白为什么会这样。

1 个答案:

答案 0 :(得分:0)

由于它是模板标记,因此可能会在服务器启动时进行缓存。尝试重新启动服务器,这应该可以解决问题。