2009-09-02 18 views
1

作業中のDjangoアプリケーションを1.1にアップグレードしたので、forループでKeyError例外が発生しました!ループのDjangoテンプレートがキーエラーを発生させる原因は何ですか?

テンプレートエラー

In template /vol/.../templates/base_bbn.html, error at line 7 
Caught an exception while rendering: 'django.contrib.comments.urls.' 

あなたはそれを反復処理項目ごとにキーが存在することになるため、このようなループのために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

@Gorgapor:あなたは 'django-1.1'に再タグ付けしたはずです。 – voyager

+1

POSTSの価値は何ですか? (また、テンプレートでキャップ変数名を使うのは悪いスタイルです)。 –

答えて

1

私はそれを自分で考え出した。

現在、1.1のdjango.contrib.comments.urlsはPython環境にはないdateutilsモジュールに依存しているようです。 easy_installでdateutilsをインストールすると、再び動作するようになりました。

何らかの理由で、これが原因で、djangoのエラーページで "テンプレートエラー"と "KeyError"が発生しました。実際の原因を見つけるためにPythonデバッガで時間がかかりました

関連する問題