9
votes

La barre d'outils Django Debug ne fonctionne que pour la section administrative

Hey, J'utilise Django 1.2.1 depuis un certain temps et rencontré la barre d'outils Django Debug Just l'autre jour. Cela a l'air vraiment utile et je suis vraiment impatient d'essayer des choses.

J'ai installé exactement comment le Readme a dit. Pas à pas. Je mets au middleware à la fin juste au cas où les choses se rattrapent, mais j'utilise des middleware assez standard (communs, sessions, auth et CSRF). Cependant, il n'apparaîtra aucune de mes pages. J'ai essayé de déplacer le middleware mais au même effet.

Il semble que j'ai installé quelque chose de mal. Mais lorsque je charge la section administrative de Django, la barre d'outils ressort. Je ne suis pas sûr de ce que je fais mal. Le contenu de mes pages peut-il affecter la barre d'outils à venir? Il est émettant dans le texte MIME / HTML ...

Quoi qu'il en soit, toute aide est grandement appréciée. Merci d'avance.

Voici mes paramètres.py: pastebin.com/hu8tgant


2 commentaires

Pourriez-vous modifier votre question et vous montrer les sections correspondantes de vos paramètres.py?


Pouvez-vous publier votre modèle? Avez-vous des balises HTML appropriées? Je pense qu'une étiquette de carrosserie de fermeture est requise pour l'emplacement (par défaut) DDT.


7 Réponses :


5
votes

Quelques Tipls sans connaître votre code:

  • 'debug_toolbar.middleware.debugtoolbarmiddleware' doit être votre dernier ou deuxième pour la dernière entrée du Moyen-Moyen-ware (pas sûr de 100% de la manière dont il fonctionne avec le middleware FlatpageBallback)
  • 'Débogou-Toolbar' comme en dernier dans la liste des informations installées
  • Vérifiez à double vérification si les actifs de la barre d'outils sont chargés
  • Assurez-vous que tous les paramètres de la barre d'outils sont définis. (Débog_toolbar_config, internal_ips) etc.

    L'erreur devrait être quelque chose de là. Je connais d'autres problèmes liés à obtenir la barre d'outils affichée sur des plats plates, donc si vous avez seulement vérifié sur des plats plat, je vous suggère d'essayer sur un autre module.


3 commentaires

Merci pour votre aide mais cela conduirait à une erreur générale que je pense? De toute façon, j'ai triple-vérifié tout ce que vous avez mentionné ci-dessus (je pense que vous voulez dire debug_toolbar dans installé_apps) et n'a trouvé aucune erreur. J'ai également simplement trouvé que les redirections sont ramassées par la barre d'outils et cela se présente alors. Il doit s'agir de quelque chose dans mes modèles HTML farcir ... mais la barre d'outils ne fait pas partie de ce que je n'ai pas choisi, je ne le cache pas dans mon HTML en quelque sorte ...


Oui, je voulais dire "debug_toolbar" et corrigé la faute de frappe de ma réponse. Je tiens à vous aider, mais je pense que nous (moi + et d'autres utilisateurs) doivent voir les parties pertinentes de vos paramètres.py et peut-être un modèle de démonstration de votre application.


Voici mes paramètres.py: Pastebin.com/hu8tGant , je préférerais ne pas donner certains de mes modèles (Je me sens juste sentir à propos de ma source: p) Mais s'il n'y a rien de bizarre dans mes paramètres.py, je suppose que je vais devoir. Merci beaucoup pour l'aide! (Remarque: évidemment <édité> n'est pas la valeur réelle de là: p)



4
votes

J'ai eu le même problème ici, et éventuellement arrivé à ce poste ... Quoi qu'il en soit, dans mon cas, ce que j'ai remarqué, c'est que j'avais une erreur JavaScript dans l'une de mes bibliothèques incluses. Et cela a brisé le flux d'interprétation JS. Lorsque j'ai corrigé l'erreur JavaScript, la barre d'outils Django a fonctionné.

Cela explique pourquoi il a fonctionné dans les pages d'administration, mais pas dans mes pages d'applications.


0 commentaires

12
votes

Barre d'outils de débogage nécessite qu'il y ait au moins une balise de fermeture dans la réponse HTML.

Cette balise peut être modifiée en modifiant paramètres.debug_toolbar_config ['insert_before']

http: // Django-débog-Barre d'outils .readthedocs.org / fr / Dernières / Configuration.html # Toolbar-Options


0 commentaires

4
votes

MANQUER INTERNAL_IPS Clé dans Paramètres.py em> impact de la barre d'outils de la barre d'outils. Ajout de cela résout le problème:

INTERNAL_IPS = ('127.0.0.1',)


1 commentaires

Je courais mon développement d'un serveur distant et j'avais ajouté l'adresse du serveur à la liste des IP mais ne fonctionne toujours pas. Mettre une affirmation false dans la méthode _show_toolbar du middleware m'a permis de voir où le problème était et identifie l'IP.



0
votes

Dans mon cas, l'erreur était très simple.

J'ai enlevé le pied de page et cela a fonctionné comme un charme!

J'espère que cela résoudra un problème pour quelqu'un d'autre.


0 commentaires

2
votes

J'ai eu un problème similaire. La solution fermait une DIV en tant qu'élément HTML non vide.

à partir de cette xxx

à ceci xxx > J'espère que cela aide!


0 commentaires

2
votes

Dans mon cas, j'utilisais Google Matière Design Lite comme cadre avanttend,

qui a la définition de style, p> xxx pré>

Ce style est appliqué à la barre d'outils de débogage éléments qui ne donnent rien. p>

Une solution de contournement rapide consistait à modifier la définition de style du MDL (uniquement possible sur les feuilles de style locales, non accueillies par CDN) à P>

*[hidden]{
    display:none;
}


0 commentaires