我写了一个模板标签来解决重复创建特殊表单的问题。逻辑有些问题,所以我插入了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()插入GetLoopForm.render方法时,它可以工作,但是当我将它插入get_loop_form时。为什么不呢?
编辑:手动重启Django开发服务器,导致上面的代码工作。我仍然不明白为什么会这样。
答案 0 :(得分:0)
由于它是模板标记,因此可能会在服务器启动时进行缓存。尝试重新启动服务器,这应该可以解决问题。