For your first question you can:
url(r'^people/$',
login_required(ListView.as_view(
queryset=Person.objects.all()))),
or in your view decorate the dispatch method:
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(ProtectedView, self).dispatch(*args, **kwargs)
See:
https://docs.djangoproject.com/en/dev/topics/class-based-views/#decorating-class-based-views
For the second question I can only suggest you look into overriding the
default ModelForm of the view and using that. The docs are a still little
lacking but see
https://docs.djangoproject.com/en/dev/ref/class-based-views/#editing-mixins
and also take a look at the code itself
https://github.com/django/django/blob/master/django/views/generic/edit.py.
Doing the latter part thought me a lot about using class based views.
-----Original Message-----
From: Lachlan Musicman
Sent: Sunday, May 06, 2012 6:57 PM
To: Django users
Subject: Generic Views with flair?
I've happily worked out how to work @login_required for entries in
views.py, but since the latest tutorial (which I followed) recommends
moving to the Generic Views my code is now like this:
urls.py
...
url(r'^people/$',
ListView.as_view(
queryset=Person.objects.all())),
url(r'^person/(?P<pk>\d+)/$',
DetailView.as_view(
model=Person)),
...
How would I set the @login_required for these? Do I have to go back to
writing them up in views.py for this functionality?
Further, the Person model is FK'd to a bunch of other traits like
Certificates, (Work) Experience and Qualifications. They come up fine
in the admin interface, using inlines. I read in the docs that there
are some extra Generic Views so I've added a CreateView and an
UpdateView to my urls.py
url(r'^person/add/$',
CreateView.as_view(
#model=Person)),
template_name='ner/person_create.html',
form_class=PersonForm)),
url(r'^person/(?P<pk>\d+)/edit/$',
UpdateView.as_view(
model=Person)),
But now I'm uncertain how I can include the extra traits within these
two functions - they don't appear by default, I'm just getting the raw
Person model. I would like to have it like I can in the admin
interface via the Inlines?
Cheers
L.
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
Daniel Sokolowski
Web Engineer
KL Insight
http://klinsight.com/ or http://webdesign.danols.com
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.