2013-06-13 4 views
1

현재 장고 1.3.1에서 시작하는 작업을하고 있는데 2 시간 동안 오류가 발생했습니다. 오류를 알아 내도록 도와주세요. 내 코드를 bitbucket에 포함 시켰습니다.오류 : 유효하지 않은 블록 태그 : 'else', 'empty'또는 'endfor'가 입력되었습니다.

오류 : -

TemplateSyntaxError at /events/archive/ 
Invalid block tag: 'else', expected 'empty' or 'endfor' 

템플릿 에러 템플릿 /home/virus/py_tut/startthedark/startthedark/templates/events/archive.html에서

라인에서 오류 32

유효하지 않은 블록 태그 : 'else', 'empty'또는 'endfor'가 필요함

22     {% csrf_token %} 
23     <input type="hidden" name="event_id" value="{{event.id}}"/> 
24     {% if attending %} 
25     <input class="attendance unattend" type = "submit" value = "Unattend" /> 
26     {% else %} 
27     <input class = "attendance attend" type ="submit" value = "Attend"/> 
28     {% endif %} 
29    </form> 
30    --> 
31   {% endfor %}   
32  {% else %} 
33   <p>No events for today.</p> 
34  {% endif %} 
35 
36 {% endblock %} 
37 

Archive.html

{% extends "base.html" %} 
{% load events_tags %} 
{% block title %}Archive -{{ block.super}}{% endblock %} 
{% block main_content %} 
    <a href="{% url ev_create %}">Create an Event</a> 
    {% if events %} 
     {% for e in events %} 
      {% event e %} 
       {% endfor %}   
    {% else %} 
     <p>No events for today.</p> 
    {% endif %} 

{% endblock %} 

events_tags.py

from django import template 
from events.models import Attendance 
def event(context, e): 
    to_return = { 
    'event' : e, 
    #'request': context['request'], 
    } 
    if context['user'].is_authenticated(): 
     try: 
      Attendance.objects.get(event=e,user = context['user'])#request.user) 
      attending = True 
     except Attendance.DoesNotExist: 
      attending = False 
     to_return.update({ 
      'attending':attending, 
      'authenticated':True, 
     }) 
    else: 
     to_return['authenticated'] = False 
    return to_return 

register = template.Library() 

register.inclusion_tag('events/event.html',takes_context=True)(event) 
+0

는 http://127.0.0.1:8000/events/tonight/ 성공적으로로드하지만 ... – nKandel

+0

는 이전보기 endfor와 else에 대해'for'와'if' 태그가 일치하는지 확인할 수 있습니다. – Barmar

답변

4

주석 태그 즉 <! - 댓글 - >은 HTML 주석입니다. 장고는 그들을 인식하지 못합니다. 주석 블록 안에 템플릿 태그를 포함 시켰다면 장고는이를 무시하는 대신 처리합니다. 장고 사용 여러 의견을

: 나는 Archive` 만남 오류 '를 클릭하면

{% comment %} 
...... 
........ 
{% endcomment %}