0
모든 요청에 대해 '확인'만 인쇄하는 매우 간단한 미들웨어를 만들고 싶습니다. 문제는 제기입니다 오류 :맞춤형 미들웨어 클래스가 오류를 발생시킵니다.
Traceback (most recent call last):
File "c:\python27\Lib\wsgiref\handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "C:\Users\Milano\Desktop\Projekty\venvs\sfl_venv\lib\site-packages\django\contrib\staticfiles\handlers.py", line 63, in __call__
return self.application(environ, start_response)
File "C:\Users\Milano\Desktop\Projekty\venvs\sfl_venv\lib\site-packages\django\core\handlers\wsgi.py", line 170, in __call__
self.load_middleware()
File "C:\Users\Milano\Desktop\Projekty\venvs\sfl_venv\lib\site-packages\django\core\handlers\base.py", line 52, in load_middleware
mw_instance = mw_class()
TypeError: __init__() takes exactly 2 arguments (1 given)
미들웨어 클래스는
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.locale.LocaleMiddleware',
'SolutionsForLanguages.middleware.UserHasProfileMiddleware'
)
SETTINGS.PY
class UserHasProfileMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
print 'OK'
return response
middleware.py
project/project/middleware.py
에서 문제가 어디 있는지 아십니까?
오, 감사합니다. 이 프로젝트는 Django 버전 1.8.7이므로 필자가 가정 한 메서드 기반 미들웨어를 사용해야합니다. –
예, 이전 버전의 장고를 사용한다면'UserHasProfileMiddleware'를 변경해야합니다. – Alasdair