2017-05-18 3 views
2

Ich versuche meine SQL-Abfragen in meinem Django 1.10 Projekt zu analysieren und zu optimieren, und aus diesem Grund versuche Django Debug Toolbar einzurichten. Momentan kann ich sehen, dass die Symbolleiste auf der linken Seite meines Browsers angezeigt wird, aber wenn ich auf die Registerkarten klicke, wird der Fehler 404 angezeigt. enter image description hereKlicken auf Django Debug Toolbar Reiter führt zu 404 Not Found Fehler

GET http://127.0.0.1:8000/debug/render_panel/?store_id=10d77fee31c2425aafb5a2cd7898111f&panel_id=SQLPanel 404 (nicht gefunden)

Meine URLconf Datei:

urlpatterns = [] 
if settings.DEBUG: 
    import debug_toolbar 
    urlpatterns = (url(r'^__debug__/', include(debug_toolbar.urls)),) 

urlpatterns += (
    url(r'', include('my_project_urls.urls')), 
    # ... 
) 

settings.py (nur relevante Inhalte):

ROOT_URLCONF = 'android_blend.urls' 
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) 
STATIC_URL = '/static/' 

if DEBUG: 
    MEDIA_URL = '/media/' 
    STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static","static-only") 
#STATIC_ROOT = [os.path.join(BASE_DIR,"static-only")] 
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static","media") 
#MEDIA_ROOT = [os.path.join(BASE_DIR,"media")] 
    STATICFILES_DIRS = (
     os.path.join(BASE_DIR,"static"), 
    ) 

def show_toolbar(request): 
    if not request.is_ajax() and request.user and request.user.id == 4: 
     return True 
    return False 

DEBUG_TOOLBAR_CONFIG = {'SHOW_TOOLBAR_CALLBACK': 'android_blend.settings.show_toolbar'} 

I beschuldigen den Fehler auf eine falsche Einstellungen in Bezug auf statische Dateien. In der cmd, wenn ich zum Projekt Stammordner navigieren und python manage.py collectstatic ausführen, sehe ich einen Ordner mit dem Namen static auf meinem Desktop anstelle von Projektstamm angezeigt. Ich kopierte den Ordner static-only, der in dem neu erstellten Ordner static war, manuell in den statischen Ordner meines Projektstamms, aber auch hier keinen Erfolg. Kann mir jemand helfen, die Lösung zu finden? Jeder Hinweis würde geschätzt werden.

Antwort

0

Ich weiß nicht, ob Sie es schon gefunden, aber es eine Bruch Änderung hat die "angekündigt" hier war:

https://github.com/jazzband/django-debug-toolbar/issues/954

und dokumentiert hier:

https://github.com/jazzband/django-debug-toolbar/pull/961/commits/22c22d719e856045e76b399d4e4ab5dc5e3fc040

Für die Versionen < 1.8 sollte der Callback auch False für AJAX-Anfragen zurückgeben. Seit Version 1.8 werden AJAX-Anfragen in der Middleware und nicht im Callback überprüft. Dies ermöglicht die Wiederverwendung des Callbacks, um den Zugriff auf über AJAX angeforderte Panel-Ansichten zu verifizieren.

So sollte der Code wie folgt in Ordnung sein:

def show_toolbar(request): 
if request.user and request.user.id == 4: 
    return True 
return False 
0

aus einer aktuellen django-Debug-Toolbar Version (1.9.1), ich habe eine Herabstufung ältere (1.6) und I bekomme kein 404 mehr.

Verwandte Themen