2010-11-24 3 views
1

J'ai un modèle qui appelle la balise de modèle markdown de la bibliothèque django.contrib.markup. Sur mon système local, cela fonctionne très bien, mais sur le serveur, pour une raison quelconque, l'appel de contenu | markdown ne renvoie que le contenu, non balisé. Aucune erreur n'est générée dans les journaux, et TEMPLATE_DEBUG = True ne me rapporte rien. J'ai mis des appels dans la fonction markdown() réelle, et ils ne sont jamais appelés. Donc, ma meilleure supposition est que pour une raison quelconque, l'appel de balisage de charge en haut du modèle échoue. Y at-il de bons moyens d'émuler l'environnement de modèle et de découvrir ce qui se passe? Outils de débogage? Choses à rechercher?Quelles sont les bonnes méthodes pour déboguer un tag de modèle brisé silencieusement?

+0

Si je ne me trompe pas, le filtre de démarquage ne nécessite-t-il pas qu'un module soit chargé et accessible sur le chemin par défaut ou autre? Est-ce également disponible sur le serveur (distant?)? Pouvez-vous exécuter le shell django sur le serveur et "importer markdown" ou quel que soit le nom du module? –

+0

importer markdown fonctionne dans le shell django. http://stackoverflow.com/questions/4270893/cannot-import-markdown-because-of-command-line-logging-level est l'autre moitié de ce bug, compris par la suite et plus spécifique, moins utile plus tard. – freyley

Répondre

0

Vous pouvez placer quelque chose dans le module de balise de gabarit qui enregistre lorsque le module est chargé, afin de pouvoir au moins confirmer si le filtre de démarquage est en cours de chargement.

Vous pouvez également créer une autre fonction dans le même fichier de modèle appelé "testeur" ou quelque chose qui ajoute simplement et ajoute le mot "TEST" à la chaîne ... alors juste voir si l'un des filtres de ce module fonctionne correctement.

+0

Savez-vous à peu près où chercher dans le code du template dans Django? Je trouve confus de trouver où les étiquettes sont chargées. – freyley

+0

Vous avez déjà dit que vous avez mis des appels dans la fonction markdown. Juste en mettre un peu en haut; ils seront exécutés quand le module est chargé dans la première fois. –

Questions connexes