mirror of
https://github.com/django/django.git
synced 2024-12-27 03:25:58 +00:00
0fcb094557
This patch is the result of the work of many people, over many years. To try and thank individuals would inevitably lead to many people being left out or forgotten -- so rather than try to give a list that will inevitably be incomplete, I'd like to thank *everybody* who contributed in any way, big or small, with coding, testing, feedback and/or documentation over the multi-year process of getting this into trunk. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14254 bcc190cf-cafb-0310-a4f2-bffc1f526a37
146 lines
3.3 KiB
Python
146 lines
3.3 KiB
Python
from django.contrib.auth.decorators import login_required
|
|
from django.core.urlresolvers import reverse
|
|
from django.utils.decorators import method_decorator
|
|
from django.views import generic
|
|
|
|
from regressiontests.generic_views.models import Artist, Author, Book, Page
|
|
from regressiontests.generic_views.forms import AuthorForm
|
|
|
|
|
|
class CustomTemplateView(generic.TemplateView):
|
|
template_name = 'generic_views/about.html'
|
|
|
|
def get_context_data(self, **kwargs):
|
|
return {
|
|
'params': kwargs,
|
|
'key': 'value'
|
|
}
|
|
|
|
|
|
class ObjectDetail(generic.DetailView):
|
|
template_name = 'generic_views/detail.html'
|
|
|
|
def get_object(self):
|
|
return {'foo': 'bar'}
|
|
|
|
|
|
class ArtistDetail(generic.DetailView):
|
|
queryset = Artist.objects.all()
|
|
|
|
|
|
class AuthorDetail(generic.DetailView):
|
|
queryset = Author.objects.all()
|
|
|
|
|
|
class PageDetail(generic.DetailView):
|
|
queryset = Page.objects.all()
|
|
template_name_field = 'template'
|
|
|
|
|
|
class DictList(generic.ListView):
|
|
"""A ListView that doesn't use a model."""
|
|
queryset = [
|
|
{'first': 'John', 'last': 'Lennon'},
|
|
{'last': 'Yoko', 'last': 'Ono'}
|
|
]
|
|
template_name = 'generic_views/list.html'
|
|
|
|
|
|
class AuthorList(generic.ListView):
|
|
queryset = Author.objects.all()
|
|
|
|
|
|
|
|
class ArtistCreate(generic.CreateView):
|
|
model = Artist
|
|
|
|
|
|
class NaiveAuthorCreate(generic.CreateView):
|
|
queryset = Author.objects.all()
|
|
|
|
|
|
class AuthorCreate(generic.CreateView):
|
|
model = Author
|
|
success_url = '/list/authors/'
|
|
|
|
|
|
class SpecializedAuthorCreate(generic.CreateView):
|
|
model = Author
|
|
form_class = AuthorForm
|
|
template_name = 'generic_views/form.html'
|
|
context_object_name = 'thingy'
|
|
|
|
def get_success_url(self):
|
|
return reverse('author_detail', args=[self.object.id,])
|
|
|
|
|
|
class AuthorCreateRestricted(AuthorCreate):
|
|
post = method_decorator(login_required)(AuthorCreate.post)
|
|
|
|
|
|
class ArtistUpdate(generic.UpdateView):
|
|
model = Artist
|
|
|
|
|
|
class NaiveAuthorUpdate(generic.UpdateView):
|
|
queryset = Author.objects.all()
|
|
|
|
|
|
class AuthorUpdate(generic.UpdateView):
|
|
model = Author
|
|
success_url = '/list/authors/'
|
|
|
|
|
|
class SpecializedAuthorUpdate(generic.UpdateView):
|
|
model = Author
|
|
form_class = AuthorForm
|
|
template_name = 'generic_views/form.html'
|
|
context_object_name = 'thingy'
|
|
|
|
def get_success_url(self):
|
|
return reverse('author_detail', args=[self.object.id,])
|
|
|
|
|
|
class NaiveAuthorDelete(generic.DeleteView):
|
|
queryset = Author.objects.all()
|
|
|
|
|
|
class AuthorDelete(generic.DeleteView):
|
|
model = Author
|
|
success_url = '/list/authors/'
|
|
|
|
|
|
class SpecializedAuthorDelete(generic.DeleteView):
|
|
queryset = Author.objects.all()
|
|
template_name = 'generic_views/confirm_delete.html'
|
|
context_object_name = 'thingy'
|
|
|
|
def get_success_url(self):
|
|
return reverse('authors_list')
|
|
|
|
|
|
class BookConfig(object):
|
|
queryset = Book.objects.all()
|
|
date_field = 'pubdate'
|
|
|
|
class BookArchive(BookConfig, generic.ArchiveIndexView):
|
|
pass
|
|
|
|
class BookYearArchive(BookConfig, generic.YearArchiveView):
|
|
pass
|
|
|
|
class BookMonthArchive(BookConfig, generic.MonthArchiveView):
|
|
pass
|
|
|
|
class BookWeekArchive(BookConfig, generic.WeekArchiveView):
|
|
pass
|
|
|
|
class BookDayArchive(BookConfig, generic.DayArchiveView):
|
|
pass
|
|
|
|
class BookTodayArchive(BookConfig, generic.TodayArchiveView):
|
|
pass
|
|
|
|
class BookDetail(BookConfig, generic.DateDetailView):
|
|
pass
|