我正在尝试使用Django中间件,但是我收到错误:
object.__new__() takes no parameters
我添加了中间件元组:
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',
)
我的观点如下:
from middleware import my_mw
@my_mw
def start(request):
do stuff...
return render_to_response('a.html', {})
middleware.py:
class my_mw(object):
def process_request(self, request):
x = 6
return None
我还尝试过各种其他中间件功能,我从示例中复制粘贴。我总是得到同样的错误。在这一点上,我真的只想让任何中间件功能起作用!
答案 0 :(得分:1)
我需要将中间件功能添加到中间件元组:
'my_app.middleware.my_mw',
然后我不包括@my_mw