2012-03-05 18 views
8

Tôi đã đưa ứng dụng mới django_colorbox vào dự án Pinax của mình. Đối với một số lý do mã sau đây ném TemplateSystaxError: Invalid block tag: 'include_colorbox', expected 'endblock' or 'endblock extra_head'.Django - Tại sao tôi nhận được TemplateSyntaxError?

{% block extra_head %} <!-- Defined in base html template --> 
    {% include_colorbox %} <!-- Simple tag defined in django_colorbox --> 
{% endblock %} 

Mã nguồn cho thẻ đơn giản errand là - https://github.com/aljosa/django-colorbox/blob/master/django_colorbox/templatetags/colorbox_tags.py.

Nếu tôi có thể nhúng các thẻ dựng sẵn khác (ví dụ: blocktrans) bên trong block thì tại sao không phải là thẻ đơn giản tùy chỉnh?

Trả lời

27

Bạn cần có {% load colorbox_tags %} trong mọi mẫu mà bạn sử dụng một trong các thẻ.

+1

Rất tiếc! Django đã nhầm lẫn tôi với lỗi của nó. – AppleGrew

+15

TIL. Đối với bất cứ ai khác đến đây từ google như tôi đã làm, điều này áp dụng cũng giống như dễ dàng khi bạn muốn sử dụng '{% static 'somefile'%}'; mỗi mẫu phải chứa '{% load staticfiles%}' ngay cả khi nó mở rộng một khuôn mẫu đã chứa nó. – chucksmash

+0

Cảm ơn @IamChuckB – Ethereal