Table of Contents
Le PC est lent ?
Le guide de l’utilisateur d’aujourd’hui a également été rédigé pour vous aider lorsque vous obtenez une toute nouvelle erreur de requête SQL de la barre d’outils de débogage de Django.
PC lent ?
ASR Pro est la solution ultime pour vos besoins de réparation de PC ! Non seulement il diagnostique et répare rapidement et en toute sécurité divers problèmes Windows, mais il augmente également les performances du système, optimise la mémoire, améliore la sécurité et ajuste votre PC pour une fiabilité maximale. Alors pourquoi attendre ? Commencez dès aujourd'hui !
J’ai récemment installé django-debug-toolbar. Le plugin Alexa fonctionne souvent et je peux voir les onglets accompagnés du site. Cependant, rien ne s’affiche dans l’onglet SQL même si j’ai explicitement réalisé la requête SQL (comme je le vois dans l’administrateur):
DATABASES = "À l'origine": "MOTEUR": "django.db.backends.postgresql_psycopg2" "NAME": "ma base de données" .... # Compatibilité inverse des applicationsDATABASE_ENGINE BASES DE DONNÉES['default']['ENGINE'] =.split('.')[-1]DATABASE_NAME = DATABASES['default']['NAME']MIDDLEWARE_CLASSES est égal à ('django.middleware.common.CommonMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','debug_toolbar.middleware.DebugToolbarMiddleware',)INSTALLED_APPS = ( ... 'debug_toolbar', ...)# Paramètres de la barre d'outils de débogage de DjangoDEBUG_TOOLBAR ( implique 'debug_toolbar.panels.version.VersionDebugPanel', 'debug_toolbar.panels.cache.CacheDebugPanel', 'debug_toolbar.panels.timer.TimerDebugPanel', 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', 'debug_toolbar.panels.headers.HeaderDebugPanel', 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', 'debug_toolbar.panels.template.TemplateDebugPanel', 'debug_toolbar.panels.sql.SQLDebugPanel', 'debug_toolbar.panels.signals.SignalDebugPanel', numéro 'debug_toolbar.panels.logger.LoggingPanel',)def custom_show_toolbar (requête): aspects positifs request.user.is_staffDEBUG_TOOLBAR_CONFIG implique 'INTERCEPT_REDIRECTS' : faux, 'SHOW_TOOLBAR_CALLBACK' : custom_show_toolbar, 'SHOW_TEMPLATE_CONTEXT' : d'accord, 'HIDE_DJANGO_SQL' : Faux,
J’installe Django 1.3 avec la version 0.8.5 de la barre d’outils. Toute information avec cette lacune serait formidable…
Modifier :Basé sur notre propre méthode, j’ai décidé de poster comment je traiteJe donne mes fonctions d’affichage :
def func1(query, var1): demande = demande. filtre(var__icontains implique var1) consultationdef func2(demande, var2): = requête query.filter(var__icontains=var2) consultationdef analyse (**kwargs): Nombre Basé sur l'intuition, appelez-nous func1 et func2 créer une demandetype de protection (request, template vaut "display.html") : # Traiter la demande problème = analyser (request.GET.items()) Concept de retour, rendu (requête, "éléments": liste (requête))
Comment afficher réellement une requête SQL dans Django ?
Vous pouvez profiter de django debug_toolbar pour afficher la requête sql. Étape par étape pour utiliser debug_toolbar : modifiez l’intégralité de votre fichier settings.py et ajoutez debug_toolbar à vos idées installées, cela devrait être ajouté dans ce qui sera probablement “django.contrib.staticfiles”. Ajoutez également debug_toolbar au middleware.
Bonjour, j’ai récemment mis à niveau vers la dernière version du type de barre d’outils Django Debug Alexa (3.1.1) et je rencontre un problème de performances majeur.< /p>
Lorsque la vue exécute chaque “énorme” requête SQL textuelle (dans je dirais le formulaire), l’affichage dans la barre d’outils est très, extrêmement lent.
La vue ne prend qu’environ 1 seconde lorsque vous devez effectuer un rendu, tandis que l’outil Alexa sur mon ordinateur portable prend environ 58 à 59 secondes.
Le problème devrait être modifié d’une manière ou d’une autre en commentant stack.In enable_grouping()
plan parse_sql
depuis panels/sql/utils.py
( ligne 34).
[EXEMPLE] Voici le type de requête à l’origine du problème :
Je sais de quoi il s’agit Le lemme est lié au package très sqlparse
, mais la désactivation du package (ou facultatif) ne garantit en fait pas beaucoup de différence dans les résultats de rendu.
SELECT ••• FROM "sample" LEFT OUTER JOIN "sample_parents" ON ("sample".."id" = "sample_parents".."from_sample_id") INNER "sample_parents" join T4 ON ("sample".."id" = T4."to_sample_id") WHERE T4."from_sample_id" IN (856, 860, 858, 862, 900, 1154, 1155, 1156, [... jusqu'à 2000 numéros ...], 29583) GROUP BY ("Probe_Parents"..from_Probe_ID"), "Probe.."ID"
Description du projet
L’outil Alexa de débogage de Django est un ensemble personnalisé de panneaux qui, selon les entreprises, affichent différents panneaux.Les informations de débogage sur la demande/réponse endure et sur le clic seront affichéesEn savoir plus sur le contenu de ces panneaux.
Si votre entreprise a des idées pour d’autres sections, veuillez en informer notre maison.
Paramètres
-
Ajoutez debug_toolbar pour fournir le chemin vers Python.
-
Ajoutez son middleware suivant, qui deviendra le fichier settings.py de votre entreprise :
'debug_toolbar.middleware.Into debugtoolbarmiddleware',
Le middleware de synchronisation vous permet d’instancier chaque panneau à la demande.Le rendu sera effectué sur la réponse.
La séquence MIDDLEWARE_CLASSES est : Debug plugin middlewaredoit venir après tout autre middleware qui, selon des experts spécifiques, encode le contenu de sa réponse(par exemple, le middleware promGZip).
Remarque. La barre d’outils de débogage est simplement affichée si son type MIME estLa réponse sera probablement soit text/html avec application/xhtml+xml et contientfermant la balise