Django 1.10 and middleware issue
Closed this issue · 0 comments
TitanFighter commented
Want to inform that because of a new middleware style introduced in 1.10 pybbm got error:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f72abb8d378>
Traceback (most recent call last):
File "/home/antonio/www/sportland/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/home/antonio/www/sportland/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 142, in inner_run
handler = self.get_handler(*args, **options)
File "/home/antonio/www/sportland/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/antonio/www/sportland/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 64, in get_handler
return get_internal_wsgi_application()
File "/home/antonio/www/sportland/lib/python3.5/site-packages/django/core/servers/basehttp.py", line 49, in get_internal_wsgi_application
return import_string(app_path)
File "/home/antonio/www/sportland/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/antonio/www/sportland/sportland/src/config/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/home/antonio/www/sportland/lib/python3.5/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
return WSGIHandler()
File "/home/antonio/www/sportland/lib/python3.5/site-packages/django/core/handlers/wsgi.py", line 153, in __init__
self.load_middleware()
File "/home/antonio/www/sportland/lib/python3.5/site-packages/django/core/handlers/base.py", line 82, in load_middleware
mw_instance = middleware(handler)
TypeError: object() takes no parameters
In order to push it to work, it is needed in pybb/middleware.py
to add
from django.utils.deprecation import MiddlewareMixin
and change:
class PybbMiddleware(object):
to:
class PybbMiddleware(MiddlewareMixin):
Or simply rewrite whole class according to a new style as shown here:
https://docs.djangoproject.com/en/1.10/topics/http/middleware/