2013-06-13 5 views
1

Я пытаюсь получить промежуточное программное обеспечение для работы с Django, но я получаю сообщение об ошибке:Джанго Middleware: объект .__ нового __() не принимает никаких параметров

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 

Я также пробовал различные другие функции промежуточного программного обеспечения, которые у меня есть, наклеенные на примерах. Я всегда получаю ту же ошибку. На этом этапе я бы просто хотел, чтобы какая-либо функция промежуточного слоя работала!

ответ

1

мне нужно добавить функцию промежуточного слоя для промежуточного слоя кортежа:

'my_app.middleware.my_mw', 

И тогда я не включаю @my_mw

+0

Поскольку этот ответ правильный, поэтому, пожалуйста, отметьте его как правильный ответ, так что другие могут видеть это как правильный ответ. – Hafiz