Похоже, вы смешиваете старый и новый стиль промежуточного API. Метод process_request()
предшествует Django 1.10 и не будет вызываться автоматически, если ваш класс промежуточного программного обеспечения не использует MiddlewareMixin .
Вы должны будете сами вызвать process_request()
из метода __call__()
:
def __call__(self, request):
self.process_request(request) # Call process_request()
response = self.get_response(request)
return response
Или, в качестве альтернативы, вы можете наследовать от MiddlewareMixin
, чтобы process_request()
вызывался Джанго. Однако это имеет смысл, только если вам нужно сделать промежуточное ПО обратно совместимым.
Вы имеете к первому , преобразовывают Ваш литерал объектов в Опытный Хеш :
// Store your object literal
var obj = {foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}
// Iterate like so. The $H() construct creates a prototype-extended Hash.
$H(obj).each(function(pair){
alert(pair.key);
alert(pair.value);
});
Нет никакой потребности в Прототипе здесь: JavaScript имеет for..in
циклы. Если Вы не уверены, что никто не смешал с Object.prototype
, проверьте hasOwnProperty()
также, т.е.
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
doSomethingWith(obj[prop]);
}
Необходимо выполнить итерации по ключам и получить значения с помощью квадратных скобок.
См.: , Как я перечисляю свойства объекта JavaScript?
РЕДАКТИРОВАНИЕ: , Очевидно, это делает вопрос дубликатом.