Seite 1 von 1

Django: template source code erhalten...

Verfasst: Dienstag 23. Oktober 2012, 08:24
von jens
Wie bekomme ich einfacher den Sourcecode eines Templates (und nicht die compilierte Version).

Hab mir das folgende gemacht:

Code: Alles auswählen

def get_template_source(template_name):
    for loader_name in settings.TEMPLATE_LOADERS:
        loader = find_template_loader(loader_name)
        if loader is None:
            continue
        try:
            template_source = loader.load_template_source(template_name)[0]
        except TemplateDoesNotExist:
            continue
        else:
            return template_source
    raise TemplateDoesNotExist(template_name)
Geht das einfacher?

Re: Django: template source code erhalten...

Verfasst: Dienstag 23. Oktober 2012, 09:02
von BlackJack
Zumindest geht der Quelltext etwas einfacher, ohne jetzt auf den konkreten Anwendungsfall einzugehen:

Code: Alles auswählen

def get_template_source(template_name):
    for loader_name in settings.TEMPLATE_LOADERS:
        loader = find_template_loader(loader_name)
        try:
            return loader.load_template_source(template_name)[0]
        except (TypeError, TemplateDoesNotExist):
            pass  # Intentionally ignored.
    raise TemplateDoesNotExist(template_name)

Re: Django: template source code erhalten...

Verfasst: Dienstag 23. Oktober 2012, 11:56
von jens
Ja, das stimmt. Wobei ich immer gern "Zwischenstände" an Namen binde. Denn die sieht man dann in den Django Traceback Seiten direkt, was oft hilfreich für die Fehlersuche ist...