2009-09-02 7 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.' 

당신은 그것을 통해 반복 할 각 항목에 대해 키가있을 것이기 때문에이 같은 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

@Gorgapor :'django-1.1'에 태그를 다시 지정해야합니다. – voyager

+1

POSTS의 가치는 무엇입니까? (또한 템플릿에서 대문자 변수 이름을 사용하는 것은 나쁜 스타일 임). –

답변

1

Ok! 나는 그것을 스스로 알아 냈다.

1.1의 django.contrib.comments.urls가 파이썬 환경에 없었던 모듈 dateutils에 종속되어있는 것으로 보입니다. easy_install을 통해 dateutils를 설치하면 다시 작동하기 시작합니다.

어떤 이유로,이 예외는 장고 오류 페이지에서 "템플릿 오류"및 "KeyError"로 인해 발생합니다. 파이썬 디버거에서 실제 원인을 찾으려면 어느 정도 시간이 걸렸습니다.

관련 문제