【问题标题】:What are good methods for debugging a silently broken template tag?调试静默损坏的模板标签的好方法是什么?
【发布时间】:2010-11-24 18:10:35
【问题描述】:

我有一个从 django.contrib.markup 库调用 markdown 模板标签的模板。在我的本地系统上它工作正常,但在服务器上,出于某种原因,content|markdown 调用只返回内容,而不是标记。任何日志中都没有引发错误,并且 TEMPLATE_DEBUG = True 没有得到任何东西。我已经在实际的 markdown() 函数中调用了它们,但它们永远不会被调用。所以我最好的猜测是,由于某种原因,模板顶部的加载标记调用失败了。

是否有模拟模板环境并找出发生了什么的好方法?调试工具?要寻找的东西?

【问题讨论】:

  • 如果我没记错的话,markdown 过滤器是不是需要在默认路径上加载和访问模块?这在(远程?)服务器上也可用吗?您可以在服务器上运行 django shell 并“导入 markdown”或任何模块名称吗?
  • import markdown 在 django shell 中工作。 stackoverflow.com/questions/4270893/… 是这个 bug 的另一半,后来才发现,更具体,以后用处不大。

标签: django templates markdown templatetags


【解决方案1】:

你可以在模板标签模块中放一些东西来记录模块的加载时间,这样你至少可以确认markdown过滤器是否正在加载。

您还可以在同一个模板文件中创建另一个名为“tester”的函数,或者简单地将单词“TEST”附加到字符串中...然后查看该模块中的任何过滤器是否正常运行.

【讨论】:

  • 您知道在 Django 中的模板代码的大致位置吗?我发现标签的加载位置令人困惑。
  • 您已经说过您将调用放入降价函数中。只需将一些放在顶部即可;它们将在第一次加载模块时运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 2022-10-22
相关资源
最近更新 更多