Hampir setiap saat ketika saya memuat situs saya, bilah alat debug kosong seperti ini:
Saya telah membuat konfigurasi berikut di proyek saya settings.py
DEBUG = True
TEMPLATE_DEBUG = DEBUG
MIDDLEWARE_CLASSES = (
'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 = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.webdesign',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
'django.contrib.humanize',
'django.contrib.staticfiles',
'watrbuzz',
'watrworld',
'accounts',
'whregistration',
'whprofiles',
'analytical',
'watrdata',
'watrplace',
'analytical',
'debug_toolbar',
'debug_toolbar_mongo',
)
INTERNAL_IPS = (
'127.0.0.1',
'XX.XX.XXX.XXX',
)
DEBUG_TOOLBAR_PANELS = (
'debug_toolbar.panels.version.VersionDebugPanel',
'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.sql.SQLDebugPanel',
'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.cache.CacheDebugPanel',
'debug_toolbar.panels.signals.SignalDebugPanel',
'debug_toolbar.panels.logger.LoggingPanel',
#'debug_toolbar.panels.redirects.InterceptRedirectsPanel',
'debug_toolbar_mongo.panel.MongoDebugPanel',
)
def show_toolbar(request):
return True
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
#'SHOW_TOOLBAR_CALLBACK': show_toolbar,
# 'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
#'HIDE_DJANGO_SQL': False,
'TAG': 'div',
'DEBUG_TOOLBAR_MEDIA_ROOT' : ' /usr/lib/python2.7/site-packages/debug_toolbar/',
'RENDER_PANELS' : True
}
Saya memang melihat panel terisi jika saya memaksa aplikasi web saya untuk menampilkan traceback. Halaman dalam HTML dan mereka memiliki tag <html></html> <body></body>
yang diperlukan.
Ini cukup sulit untuk didiagnosis dari jarak jauh pada proyek besar-besaran. Anda harus mengurangi masalah menjadi kasus uji minimal sebelum saya benar-benar dapat membantu Anda.
Apakah masalah masih terjadi jika Anda menghapus pengaturan DEBUG_TOOLBAR_PANELS
dan DEBUG_TOOLBAR_CONFIG
dan Anda juga menghapus debug_toolbar_mongo
dari INSTALLED_APPS
?
Jika tidak, dapatkah Anda menambahkan kembali pengaturan yang benar-benar Anda butuhkan satu per satu sampai Anda menemukan mana yang memicu masalah?
Sebenarnya saya menduga bahwa 'TAG': 'div',
salah dalam konfigurasi Anda.
Silakan buka kembali jika Anda dapat mengurangi ini menjadi masalah yang lebih spesifik di bilah alat debug.
Permasalahan yang sama
MIDDLEWARE_CLASSES = (
'debug_toolbar.middleware.DebugToolbarMiddleware',
'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',
)
INTERNAL_IPS = ('127.0.0.1', 'XXX.XXX.XXX.XXX',)
INSTALLED_APPS += (
'debug_toolbar',
)
DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'debug_toolbar.panels.sql.SQLPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.logging.LoggingPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel',
]
def custom_show_toolbar(request):
return True # Always show toolbar, for example purposes only.
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': True,
'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
'HIDE_DJANGO_SQL': False,
'TAG': 'div',
'ENABLE_STACKTRACES': True,
'HIDE_IN_STACKTRACES': ('gunicorn', 'newrelic'),
}
Django 1.6
Apakah Anda yakin nilai dalam DEBUG_TOOLBAR_CONFIG
masuk akal untuk proyek Anda?
Apa yang terjadi jika Anda menghapus DEBUG_TOOLBAR_CONFIG
seluruhnya? Saya cukup yakin default akan bekerja lebih baik daripada konfigurasi ini.
Saya telah menghapus bagian dari pengaturan dan sekarang berfungsi, tetapi itu harus membuatnya jelas dalam dokumentasi
MIDDLEWARE_CLASSES = (
'debug_toolbar.middleware.DebugToolbarMiddleware',
'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',
)
INTERNAL_IPS = ('127.0.0.1', 'XXX.XXX.XXX.XXX',)
INSTALLED_APPS += (
'debug_toolbar',
)
# DEBUG_TOOLBAR_PANELS = [
# 'debug_toolbar.panels.versions.VersionsPanel',
# 'debug_toolbar.panels.timer.TimerPanel',
# 'debug_toolbar.panels.settings.SettingsPanel',
# 'debug_toolbar.panels.headers.HeadersPanel',
# 'debug_toolbar.panels.request.RequestPanel',
# 'debug_toolbar.panels.sql.SQLPanel',
# 'debug_toolbar.panels.templates.TemplatesPanel',
# 'debug_toolbar.panels.cache.CachePanel',
# 'debug_toolbar.panels.signals.SignalsPanel',
# 'debug_toolbar.panels.logging.LoggingPanel',
# 'debug_toolbar.panels.redirects.RedirectsPanel',
# 'debug_toolbar.panels.profiling.ProfilingPanel',
# ]
# def custom_show_toolbar(request):
# return True # Always show toolbar, for example purposes only.
# DEBUG_TOOLBAR_CONFIG = {
# 'INTERCEPT_REDIRECTS': True,
# 'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
# 'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
# 'HIDE_DJANGO_SQL': False,
# 'TAG': 'div',
# 'ENABLE_STACKTRACES': True,
# 'HIDE_IN_STACKTRACES': ('gunicorn', 'newrelic'),
# }
Terima kasih
Ya, saya baru saja memperbarui dokumen untuk mengingatkan pembaca bahwa menyalin-menempelkan secara membabi buta tanpa berusaha memahaminya kemungkinan akan menghasilkan hasil yang di bawah standar.
Komentar yang paling membantu
Ya, saya baru saja memperbarui dokumen untuk mengingatkan pembaca bahwa menyalin-menempelkan secara membabi buta tanpa berusaha memahaminya kemungkinan akan menghasilkan hasil yang di bawah standar.