2013-06-13 2 views
1

В настоящее время я делаю запуск на Django 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/ успешно загружен, но когда я нажимаю на 'Archive' ошибки встречном ... – nKandel

+0

Показать ранее код, чтобы мы могли увидеть, есть ли соответствующие 'for' и' if' теги для 'endfor' и' else'. – Barmar

ответ

4

Комментарий тега т.е. < - Комментарии - > является HTML комментарий. Django не распознает их. Если вы включили теги шаблонов внутри блока комментариев, Django обрабатывает их, а не игнорирует.

Для многострочных комментариев в использовании Django:

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

 Смежные вопросы

  • Нет связанных вопросов^_^