django: TemplateSyntaxError: Invalid block tag: 'extends'

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Freitag 16. März 2007, 10:47

Da habe ich aber jetzt ein wenig länger gebraucht um auf diesen Fehler bzw. auf die Lösung zu kommen...

Zum Problem:

Code: Alles auswählen

Traceback (most recent call last):
   File "test2.py", line 8, in ?
     t = Template(my_example_string_template)
   File "./django/template/__init__.py", line 158, in __init__
   File "./django/template/__init__.py", line 174, in compile_string
   File "./django/template/__init__.py", line 271, in parse
   File "./django/template/__init__.py", line 315, in invalid_block_tag
django.template.TemplateSyntaxError: Invalid block tag: 'extends'
Da wußte ich erstmal nicht so richtig weiter... Dann hab ich mir mal angesehen wo denn überhaupt der tag 'extends' von django definiert wird.

Die Tags 'block', 'extends' und 'include' werden in django.template.loader_tags registriert.

Diese Datei wird wiederum in django.template.loader mit add_to_builtins('django.template.loader_tags') "geladen"...

Alle Beispiele gehen davon aus, das man einen solchen import hat:

Code: Alles auswählen

from django.template import Template, Context, loader
In meinem Fall war es allerdings so, das ich zwar eine base.html nutzte, aber ansonsten hab ich im Code ein String-Template. In diesem Template wird dann die base.html per 'extends' benutzt.

Kurz um, ich brauche das loader object eigentlich nicht. Also hab ich es aus dem import gestrichen. Die Folge ist dann, oben im Traceback zu sehen...

Irgendwie dumm gelöst, das ganze, oder? Ich muss also etwas importieren, was ich eigentlich gar nicht direkt nutzte... :?

EDIT: btw. crosspost here: http://groups.google.com/group/django-u ... d94a14ced3

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten