From c828cc1ba62d9a4ebc144a081fff44c60d339e3a Mon Sep 17 00:00:00 2001 From: Simon Meers Date: Sun, 10 Jul 2011 21:40:14 +0000 Subject: [PATCH] [1.3.X] Fixed #15715 -- added non-trivial decorator example to CBV docs. Thanks toofishes. Backport of r16534 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.3.X@16535 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/topics/class-based-views.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/topics/class-based-views.txt b/docs/topics/class-based-views.txt index 0b1a9235354e6..38310462c2395 100644 --- a/docs/topics/class-based-views.txt +++ b/docs/topics/class-based-views.txt @@ -570,11 +570,14 @@ result of the :meth:`~django.views.generic.base.View.as_view` method. The easiest place to do this is in the URLconf where you deploy your view:: - from django.contrib.auth.decorators import login_required + from django.contrib.auth.decorators import login_required, permission_required from django.views.generic import TemplateView + from .views import VoteView + urlpatterns = patterns('', - (r'^about/',login_required(TemplateView.as_view(template_name="secret.html"))), + (r'^about/', login_required(TemplateView.as_view(template_name="secret.html"))), + (r'^vote/', permission_required('polls.can_vote')(VoteView.as_view())), ) This approach applies the decorator on a per-instance basis. If you