Subject: Re: Class-based view decorators Thank you all for your replies. My search on the topic had missed most of the past discussion, which I'm now catching up on. Carl Meyer wrote: > > @method_decorator(permission_required, 'thing.change_thing') > > Is this really any better than > @method_decorator(permission_required("thing.change_thing"))? > The latter seems more explicit/clearer, and allows method_decorator to > stay simpler. No, of course you're right. The nature of decorators with arguments, which are relly decorator factories, had somehow eluded me. Åukasz Rekucki wrote: > The super() problem actually makes a great Python puzzle so it's easy > to remember the dangers after solving it ;) A funny puzzle indeed. IMHO the root problem is Python 2's super() requiring an explicit mention of the surrounding class, something I never liked to begin with. It would seem the only correct way to augment classes are mixins. So until a newer Django release provides mixins (or dstufft's universal mixin-decorator classes) for all standard functionality, which seemed to be the consensus in the latest big thread, I will use a small utility to convert decorators to mixins as needed. I have attached it to the issue https://code.djangoproject.com/ticket/14512 in case someone wants to use it or augment the current documentation with it. -Tobia -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@xxxxxxxxxxxxxxxxx To unsubscribe from this group, send email to django-developers+unsubscribe@xxxxxxxxxxxxxxxxx For more options, visit this group at http://groups.google.com/group/django-developers?hl=en. |