【发布时间】:2017-05-14 07:47:29
【问题描述】:
我正在尝试在 Django 1.10 项目中提出我自己的第一个中间件。目前遇到以下错误
TypeError: init() 缺少 1 个必需的位置参数: 'get_response'
我在middleware.py 中定义了中间件,如下所示:
从 zeon.utils 导入 RequestLogThread
class StartRestEndPointMiddleWare(object):
def __init__(self, get_response):
self.get_response = get_response
# One-time configuration and initialization.
def __call__(self, request):
# Code to be executed for each request before
# the view (and later middleware) are called.
request.request_log_id = RequestLogThread('send_contact', request.data).start()
response = self.get_response(request)
# Code to be executed for each request/response after
# the view is called.
return response
我在试图找出问题所在时迷失了方向,因为一切似乎都符合doc。我真的很感激任何提示。
更新: 我把它放到 middle_classes 中:
MIDDLEWARE_CLASSES = [
'zeon.middleware.StartRestEndPointMiddleWare',
]
【问题讨论】:
-
你是放入
MIDDLEWARE字典还是MIDDLEWARE_CLASSES字典? -
我已根据您的问题更新了问题