Панель инструментов отладки Django не перехватывает запрос из локальной базы данных

django = "4.0.8"
django-debug-toolbar = "^4.3.0"
drf-spectacular = "^0.26.5"

Контейнер Django подключен к локальной базе данных. Поэтому при вызове API в ответ возвращаются данные, полученные из локальной базы данных. Но на панели инструментов отладки нет sql-запроса.

enter image description here

Когда я захожу на страницу SQL, то существуют только эти операторы.

SQL queries from 0 connections
No SQL queries were recorded during this request.

Я установил host.docker.internal для подключения контейнера к локальной базе данных, которая находится на хосте.

extra_hosts:
    - "host.docker.internal:host-gateway"

.local.env

DB_ENGINE="django.contrib.gis.db.backends.postgis"
DB_HOST="host.docker.internal"
DEBUG=True

Я назначил True и False для INTERCEPT_REDIRECTS. Но не работает

Почему панель отладки django не может перехватить sql-запрос?

local_settings.py

from dotenv import load_dotenv

load_dotenv(".env.local")

from .base_settings import *

import socket

DEBUG = True

LOGGING["loggers"]["django"]["handlers"] = ["console", "file"]

CORS_ALLOWED_ORIGINS = [
    "http://localhost:8000",
    "http://127.0.0.1:8000",
    "http://localhost:80",
    "http://127.0.0.1:80",
    "http://localhost:3000",
    "http://127.0.0.1:3000",
    "http://host.docker.internal:8000",
]

CORS_ALLOW_METHODS = [
    "GET",
    "POST",
]

INTERNAL_IPS = [
    "*",
    "127.0.0.1",
    "localhost",
    "192.168.0.1",
    "10.0.2.2",
    "host.docker.internal",
]

hostname, _, ips = socket.gethostbyname_ex(socket.gethostname())
INTERNAL_IPS += [".".join(ip.split(".")[:-1] + ["1"]) for ip in ips]


def show_toolbar(request):
    return True


DEBUG_TOOLBAR_CONFIG = {
    "INTERCEPT_REDIRECTS": True,
    "SHOW_TOOLBAR_CALLBACK": show_toolbar,
}
if DEBUG:
    import mimetypes

    mimetypes.add_type("application/javascript", ".js", True)

base_settings.py

#...
INSTALLED_APPS = [
    "django.contrib.staticfiles",
    "drf_spectacular",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "real_estate",
    "accounts",
    "modu_property",
    "django_celery_beat",
    "rest_framework",
    "rest_framework_simplejwt",
    "django.contrib.gis",
    "debug_toolbar",
    "corsheaders",
]

REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": [
        # "rest_framework_simplejwt.authentication.JWTAuthentication"
    ],
    "DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
}

MIDDLEWARE = [
    "corsheaders.middleware.CorsMiddleware",
    "debug_toolbar.middleware.DebugToolbarMiddleware",
    "django.middleware.security.SecurityMiddleware",
    "whitenoise.middleware.WhiteNoiseMiddleware",  # for django debug toolbar css
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
]
#...

urls.py

urlpatterns = []
if DEBUG:
    urlpatterns += [
        # path(
        #     "__debug__",
        #     include("debug_toolbar.urls"),
        #     name="debug_toolbar_without_slash",
        # ),
        path(
            "__debug__/", include("debug_toolbar.urls"), name="debug_toolbar_with_slash"
        ),
    ]

#...

urlpatterns += (
    [
        path(
            "api/schema",
            SpectacularAPIView.as_view(),
            name="schema",
        ),
        path(
            "api/docs",
            SpectacularSwaggerView.as_view(url_name="schema"),
            name="swagger-ui",
        ),
        path(
            "api/redoc",
            SpectacularRedocView.as_view(url_name="schema"),
            name="redoc",
        ),
    ]
)

Вернуться на верх