Django的1.10安裝的Django調試工具欄:類型錯誤:__init __()需要1周位置的說法,但2被賦予
Django的調試工具欄裏== 1.5
新建項目(我剛剛安裝了Django)。試圖安裝Django調試工具欄。
文檔:https://django-debug-toolbar.readthedocs.io/en/stable/installation.html#prerequisites
根據該文件,此版本的Django的調試工具欄裏的是Django的1.10兼容。
你能幫我理解我做錯了什麼嗎?
settings.py
# { django-debug-toolbar
DEBUG_TOOLBAR_PATCH_SETTINGS = False
INTERNAL_IPS = ['127.0.0.1', ]
if DEBUG:
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware',]
INSTALLED_APPS += ['debug_toolbar',]
# } django-debug-toolbar
urls.py
from django.conf import settings
from django.conf.urls import include
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
回溯
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f97d6ab9840>
Traceback (most recent call last):
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 142, in inner_run
handler = self.get_handler(*args, **options)
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/runserver.py", line 27, in get_handler
handler = super(Command, self).get_handler(*args, **options)
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 64, in get_handler
return get_internal_wsgi_application()
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/core/servers/basehttp.py", line 49, in get_internal_wsgi_application
return import_string(app_path)
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/utils/module_loading.py", line 20, in import_string
module = import_module(module_path)
File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 665, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "/home/michael/workspace/photoarchive/photoarchive/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
return WSGIHandler()
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/core/handlers/wsgi.py", line 153, in __init__
self.load_middleware()
File "/home/michael/workspace/venv/photoarchive/lib/python3.5/site-packages/django/core/handlers/base.py", line 82, in load_middleware
mw_instance = middleware(handler)
TypeError: __init__() takes 1 positional argument but 2 were given
你真的應該加入一些解釋,爲什麼這應該工作 - 以目前的形式,你的回答不提供任何解釋,幫助社區的其他人瞭解你做了什麼來解決/回答問題。具體而言,您需要解釋這些設置如何使其工作。 – ishmaelMakitla
如果將MIDDLEWARE更改爲MIDDLEWARE_CLASSES,則MIDDLEWARE_CLASSES的值將被忽略。 這是我得到的警告:警告: ?:(1_10.W001)MIDDLEWARE_CLASSES設置在Django 1.10中已棄用,並且MIDDLEWARE設置優先。由於您已經設置了MIDDLEWARE,所以MIDDLEWARE_CLASSES的值將被忽略。 所以這就是他可以運行它的原因... 官方文檔:https://docs.djangoproject.com/en/dev/releases/1。10 /#新式中間件 – RVE