我将一个正在运行的Django应用程序升级到1.1,现在我在for循环上得到了一个KeyError异常!
模板错误
In template /vol/.../templates/base_bbn.html, error at line 7
Caught an exception while rendering: 'django.contrib.comments.urls.'
你会认为在这样的for循环中没有KeyError,因为它会迭代的每个项都有一个键。
{% block blog_class %}
{% for post in POSTS %} # <-----------Template error on this line
<p class="bbn-dateln">{{ post.publish|date:"Y F d" }
实际的异常是KeyError
File "/usr/lib/python2.5/site-packages/django/utils/importlib.py", line 36, in import_module
return sys.modules[name]
KeyError: 'django.contrib.comments.urls.'
有关如何调试此问题的任何建议?我传递给这个模板的POSTS看起来很好......
答案 0 :(得分:1)
确定!我自己想通了。
似乎1.1中的django.contrib.comments.urls现在依赖于我的python环境没有的模块dateutils。一旦我通过easy_install安装了dateutils,它就重新开始工作了。
由于某种原因,这导致的异常在django错误页面上冒出“模板错误”和“KeyError”。在python调试器中花了一些时间来找到真正的原因