Для тех, кто не в курсе: фамилия Рустема – Адагамов.
А Агдам – это дешёвое креплёное вино, названное в честь города в Карабахе :)
Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.
Tags:

no subject
no subject
requires_login, {'view': my_view1}
получается
{'code': requires_login, 'view': my_view1}
только объект имеет тип не dict, а function.
no subject
no subject
class View1: def __call__(this, request): # some code view1 = View1() # called as view1(request), same for view2, view3 # one way class RequiresLogin1: def __call__(this, view, request): if somecheck: return something return view(request) requeres_login = RequiresLogin1() # called as requeres_login(view1, request) # ... requeres_login(view2, request), requeres_login(view3, request) # another way class RequiresLogin2: def __init__(self, view): self.view = view def __call__(self, request): if somecheck: return something return self.view(request) rview1 = RequiresLogin2(view1) # called as rview1(request), same for view2, view3т.е. весь накладной расход на второй вариант, это создание нескольких копеечных объектов, зато мы сохраняем полную совместимость по интерфейсу.