2010-11-24 9 views
1

Ich habe eine Vorlage, die das Abzeichnungsschablonen-Tag aus der Bibliothek django.contrib.markup aufruft. Auf meinem lokalen System funktioniert es gut, aber auf dem Server, aus irgendeinem Grund, der Inhalt | Markdown-Aufruf gibt nur den Inhalt, nicht markiert. In keinem der Protokolle wird ein Fehler ausgegeben, und TEMPLATE_DEBUG = True bringt mir nichts. Ich habe Anrufe in die eigentliche markdown() -Funktion gesetzt, und sie werden nie aufgerufen. Also meine beste Vermutung ist, dass aus irgendeinem Grund der Lade Markup-Aufruf an der Spitze der Vorlage fehlschlägt.Was sind gute Methoden zum Debuggen eines stillgelegten Template-Tags?

Gibt es gute Möglichkeiten, die Vorlagenumgebung zu emulieren und herauszufinden, was passiert? Debugging-Tools? Dinge zu suchen?

+0

Wenn ich mich nicht irre, erfordert der Markdown-Filter nicht, dass ein Modul geladen und auf dem Standardpfad oder sonstwie zugänglich ist? Ist das auch auf dem (Remote?) Server verfügbar? Können Sie die django-Shell auf dem Server ausführen und "Markdown" oder was auch immer der Modulname ist importieren? –

+0

Import Markdown funktioniert in der Django-Shell. http://stackoverflow.com/questions/4270893/cannot-import-markdown-because-of-command-line-logging-level ist die andere Hälfte dieses Bugs, später herausgefunden und spezifischer, später weniger nützlich. – freyley

Antwort

0

Sie könnten etwas in das Schablonen-Tag-Modul schreiben, das aufzeichnet, wenn das Modul geladen wird, damit Sie zumindest bestätigen können, ob der Markdown-Filter überhaupt geladen wird oder nicht.

Sie könnten auch eine andere Funktion in der gleichen Vorlagendatei namens "tester" oder etwas, das einfach das Wort "TEST" an die Zeichenfolge anfügt und voranstellt ... dann sehen, ob einer der Filter in diesem Modul ausgeführt wird korrekt.

+0

Wissen Sie ungefähr, wo Sie im Vorlagencode in Django nachsehen können? Ich finde es verwirrend zu finden, wo die Tags geladen werden. – freyley

+0

Sie haben bereits gesagt, dass Sie Anrufe in die Markdown-Funktion stellen. Setzen Sie einfach etwas ganz nach oben; Sie werden ausgeführt, wenn das Modul zum ersten Mal geladen wird. –

Verwandte Themen