2016-08-05 53 views
4

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 

回答

3

我改變中間件MIDD settings.py中的LEWARE_CLASSES。 它適合我!

+3

你真的應該加入一些解釋,爲什麼這應該工作 - 以目前的形式,你的回答不提供任何解釋,幫助社區的其他人瞭解你做了什麼來解決/回答問題。具體而言,您需要解釋這些設置如何使其工作。 – ishmaelMakitla

+0

如果將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

1

已經修復。無需重命名MIDDLEWARE。只需直接從git的安裝:

pip install https://github.com/jazzband/django-debug-toolbar/archive/master.zip 

,取而代之的stable使用latest文檔: http://django-debug-toolbar.readthedocs.io/en/latest/

+0

截至9月29日,當使用推薦的[顯式設置](http://django-debug-toolbar.readthedocs.io/en/stable/installation.html#explicit-setup) ,來自PyPI的普通舊'pip install'版本不起作用。如上所述從github安裝。 – Jheasly

相關問題