Оба режима все еще поддерживаются.
Следующий вызов bind()
:
$(".foo").bind("click", function() {
// ...
});
Может быть непосредственно преобразован в следующий вызов on()
:
$(".foo").on("click", function() {
// ...
});
И следующий вызов delegate()
:
$("#ancestor").delegate(".foo", "click", function() {
// ...
});
Может быть преобразован в следующий вызов on()
:
$("#ancestor").on("click", ".foo", function() {
// ...
});
Для полноты , следующий вызов live()
:
$(".foo").live("click", function() {
// ...
});
Может быть преобразован в следующий вызов on()
:
$(document).on("click", ".foo", function() {
// ...
});
Ваше предложение промежуточного программного обеспечения заставило меня задуматься, и теперь я думаю, что лучше всего перезаписать стандартное AuthenticationMiddleware
. Этот класс назначает объект LazyUser
запросу, который разрешается правильному пользователю при доступе путем вызова contrib.auth.get_user
. Вероятно, это подходящее место для переопределения, так что он вызывает вашу настроенную функцию get_user
, которая возвращает ваш подкласс AnonymousUser
.
Вы должны создать подкласс или создать модель, которая имеет взаимно однозначные отношения с классом AnonymousUser .
Я начинаю думать, что промежуточное ПО, вероятно, самое простое решение, которое проверяет класс request.user
и если это AnonymousUser, то заменяет его подклассом AnonymousUser, который имеет дополнительные свойства.
Это звучит разумно?