Merge pull request #261 from issackelly/cbv-full-list
Create headings and expand CBV docs so that the "Built-In CBV" docs include a full list.
This commit is contained in:
commit
4eaf73d7bc
|
@ -8,6 +8,9 @@ themselves or inherited from. They may not provide all the capabilities
|
|||
required for projects, in which case there are Mixins and Generic class-based
|
||||
views.
|
||||
|
||||
View
|
||||
----
|
||||
|
||||
.. class:: django.views.generic.base.View
|
||||
|
||||
The master class-based base view. All other class-based views inherit from
|
||||
|
@ -31,13 +34,13 @@ views.
|
|||
**Example urls.py**::
|
||||
|
||||
from django.conf.urls import patterns, url
|
||||
|
||||
|
||||
from myapp.views import MyView
|
||||
|
||||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^mine/$', MyView.as_view(), name='my-view'),
|
||||
)
|
||||
|
||||
|
||||
**Methods**
|
||||
|
||||
.. method:: dispatch(request, *args, **kwargs)
|
||||
|
@ -61,13 +64,16 @@ views.
|
|||
|
||||
The default implementation returns ``HttpResponseNotAllowed`` with list
|
||||
of allowed methods in plain text.
|
||||
|
||||
.. note::
|
||||
|
||||
.. note::
|
||||
|
||||
Documentation on class-based views is a work in progress. As yet, only the
|
||||
methods defined directly on the class are documented here, not methods
|
||||
defined on superclasses.
|
||||
|
||||
TemplateView
|
||||
------------
|
||||
|
||||
.. class:: django.views.generic.base.TemplateView
|
||||
|
||||
Renders a given template, passing it a ``{{ params }}`` template variable,
|
||||
|
@ -84,22 +90,22 @@ views.
|
|||
1. :meth:`dispatch()`
|
||||
2. :meth:`http_method_not_allowed()`
|
||||
3. :meth:`get_context_data()`
|
||||
|
||||
|
||||
**Example views.py**::
|
||||
|
||||
from django.views.generic.base import TemplateView
|
||||
|
||||
|
||||
from articles.models import Article
|
||||
|
||||
class HomePageView(TemplateView):
|
||||
|
||||
template_name = "home.html"
|
||||
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(HomePageView, self).get_context_data(**kwargs)
|
||||
context['latest_articles'] = Article.objects.all()[:5]
|
||||
return context
|
||||
|
||||
|
||||
**Example urls.py**::
|
||||
|
||||
from django.conf.urls import patterns, url
|
||||
|
@ -126,12 +132,15 @@ views.
|
|||
* ``params``: The dictionary of keyword arguments captured from the URL
|
||||
pattern that served the view.
|
||||
|
||||
.. note::
|
||||
.. note::
|
||||
|
||||
Documentation on class-based views is a work in progress. As yet, only the
|
||||
methods defined directly on the class are documented here, not methods
|
||||
defined on superclasses.
|
||||
|
||||
RedirectView
|
||||
------------
|
||||
|
||||
.. class:: django.views.generic.base.RedirectView
|
||||
|
||||
Redirects to a given URL.
|
||||
|
@ -159,7 +168,7 @@ views.
|
|||
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.views.generic.base import RedirectView
|
||||
|
||||
|
||||
from articles.models import Article
|
||||
|
||||
class ArticleCounterRedirectView(RedirectView):
|
||||
|
@ -176,7 +185,7 @@ views.
|
|||
|
||||
from django.conf.urls import patterns, url
|
||||
from django.views.generic.base import RedirectView
|
||||
|
||||
|
||||
from article.views import ArticleCounterRedirectView
|
||||
|
||||
urlpatterns = patterns('',
|
||||
|
@ -217,7 +226,7 @@ views.
|
|||
behavior they wish, as long as the method returns a redirect-ready URL
|
||||
string.
|
||||
|
||||
.. note::
|
||||
.. note::
|
||||
|
||||
Documentation on class-based views is a work in progress. As yet, only the
|
||||
methods defined directly on the class are documented here, not methods
|
||||
|
|
|
@ -5,6 +5,9 @@ Generic date views
|
|||
Date-based generic views (in the module :mod:`django.views.generic.dates`)
|
||||
are views for displaying drilldown pages for date-based data.
|
||||
|
||||
ArchiveIndexView
|
||||
----------------
|
||||
|
||||
.. class:: django.views.generic.dates.ArchiveIndexView
|
||||
|
||||
A top-level index page showing the "latest" objects, by date. Objects with
|
||||
|
@ -21,12 +24,15 @@ are views for displaying drilldown pages for date-based data.
|
|||
* :class:`django.views.generic.list.MultipleObjectMixin`
|
||||
* :class:`django.views.generic.dates.DateMixin`
|
||||
* :class:`django.views.generic.base.View`
|
||||
|
||||
|
||||
**Notes**
|
||||
|
||||
* Uses a default ``context_object_name`` of ``latest``.
|
||||
* Uses a default ``template_name_suffix`` of ``_archive``.
|
||||
|
||||
YearArchiveView
|
||||
---------------
|
||||
|
||||
.. class:: django.views.generic.dates.YearArchiveView
|
||||
|
||||
A yearly archive page showing all available months in a given year. Objects
|
||||
|
@ -86,6 +92,9 @@ are views for displaying drilldown pages for date-based data.
|
|||
|
||||
* Uses a default ``template_name_suffix`` of ``_archive_year``.
|
||||
|
||||
MonthArchiveView
|
||||
----------------
|
||||
|
||||
.. class:: django.views.generic.dates.MonthArchiveView
|
||||
|
||||
A monthly archive page showing all objects in a given month. Objects with a
|
||||
|
@ -134,6 +143,9 @@ are views for displaying drilldown pages for date-based data.
|
|||
|
||||
* Uses a default ``template_name_suffix`` of ``_archive_month``.
|
||||
|
||||
WeekArchiveView
|
||||
---------------
|
||||
|
||||
.. class:: django.views.generic.dates.WeekArchiveView
|
||||
|
||||
A weekly archive page showing all objects in a given week. Objects with a
|
||||
|
@ -175,6 +187,9 @@ are views for displaying drilldown pages for date-based data.
|
|||
|
||||
* Uses a default ``template_name_suffix`` of ``_archive_week``.
|
||||
|
||||
DayArchiveView
|
||||
--------------
|
||||
|
||||
.. class:: django.views.generic.dates.DayArchiveView
|
||||
|
||||
A day archive page showing all objects in a given day. Days in the future
|
||||
|
@ -225,6 +240,9 @@ are views for displaying drilldown pages for date-based data.
|
|||
|
||||
* Uses a default ``template_name_suffix`` of ``_archive_day``.
|
||||
|
||||
TodayArchiveView
|
||||
----------------
|
||||
|
||||
.. class:: django.views.generic.dates.TodayArchiveView
|
||||
|
||||
A day archive page showing all objects for *today*. This is exactly the
|
||||
|
@ -246,6 +264,10 @@ are views for displaying drilldown pages for date-based data.
|
|||
* :class:`django.views.generic.dates.DateMixin`
|
||||
* :class:`django.views.generic.base.View`
|
||||
|
||||
|
||||
DateDetailView
|
||||
--------------
|
||||
|
||||
.. class:: django.views.generic.dates.DateDetailView
|
||||
|
||||
A page representing an individual object. If the object has a date value in
|
||||
|
|
|
@ -5,6 +5,9 @@ Generic display views
|
|||
The two following generic class-based views are designed to display data. On
|
||||
many projects they are typically the most commonly used views.
|
||||
|
||||
DetailView
|
||||
----------
|
||||
|
||||
.. class:: django.views.generic.detail.DetailView
|
||||
|
||||
While this view is executing, ``self.object`` will contain the object that
|
||||
|
@ -39,7 +42,7 @@ many projects they are typically the most commonly used views.
|
|||
from articles.models import Article
|
||||
|
||||
class ArticleDetailView(DetailView):
|
||||
|
||||
|
||||
model = Article
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
@ -55,7 +58,10 @@ many projects they are typically the most commonly used views.
|
|||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^(?P<slug>[-_\w]+)/$', ArticleDetailView.as_view(), name='article-detail'),
|
||||
)
|
||||
)
|
||||
|
||||
ListView
|
||||
--------
|
||||
|
||||
.. class:: django.views.generic.list.ListView
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Generic editing views
|
||||
=====================
|
||||
|
||||
The following views are described on this page and provide a foundation for
|
||||
The following views are described on this page and provide a foundation for
|
||||
editing content:
|
||||
|
||||
* :class:`django.views.generic.edit.FormView`
|
||||
|
@ -13,7 +13,7 @@ editing content:
|
|||
.. note::
|
||||
|
||||
Some of the examples on this page assume that a model titled 'Author'
|
||||
has been defined. For these cases we assume the following has been defined
|
||||
has been defined. For these cases we assume the following has been defined
|
||||
in `myapp/models.py`::
|
||||
|
||||
from django import models
|
||||
|
@ -25,6 +25,9 @@ editing content:
|
|||
def get_absolute_url(self):
|
||||
return reverse('author-detail', kwargs={'pk': self.pk})
|
||||
|
||||
FormView
|
||||
--------
|
||||
|
||||
.. class:: django.views.generic.edit.FormView
|
||||
|
||||
A view that displays a form. On error, redisplays the form with validation
|
||||
|
@ -69,6 +72,8 @@ editing content:
|
|||
form.send_email()
|
||||
return super(ContactView, self).form_valid(form)
|
||||
|
||||
CreateView
|
||||
----------
|
||||
|
||||
.. class:: django.views.generic.edit.CreateView
|
||||
|
||||
|
@ -94,7 +99,7 @@ editing content:
|
|||
.. attribute:: template_name_suffix
|
||||
|
||||
The CreateView page displayed to a GET request uses a
|
||||
``template_name_suffix`` of ``'_form.html'``. For
|
||||
``template_name_suffix`` of ``'_form.html'``. For
|
||||
example, changing this attribute to ``'_create_form.html'`` for a view
|
||||
creating objects for the the example `Author` model would cause the the
|
||||
default `template_name` to be ``'myapp/author_create_form.html'``.
|
||||
|
@ -107,6 +112,9 @@ editing content:
|
|||
class AuthorCreate(CreateView):
|
||||
model = Author
|
||||
|
||||
UpdateView
|
||||
----------
|
||||
|
||||
.. class:: django.views.generic.edit.UpdateView
|
||||
|
||||
A view that displays a form for editing an existing object, redisplaying
|
||||
|
@ -133,10 +141,10 @@ editing content:
|
|||
.. attribute:: template_name_suffix
|
||||
|
||||
The UpdateView page displayed to a GET request uses a
|
||||
``template_name_suffix`` of ``'_form.html'``. For
|
||||
``template_name_suffix`` of ``'_form.html'``. For
|
||||
example, changing this attribute to ``'_update_form.html'`` for a view
|
||||
updating objects for the the example `Author` model would cause the the
|
||||
default `template_name` to be ``'myapp/author_update_form.html'``.
|
||||
default `template_name` to be ``'myapp/author_update_form.html'``.
|
||||
|
||||
**Example views.py**::
|
||||
|
||||
|
@ -146,6 +154,9 @@ editing content:
|
|||
class AuthorUpdate(UpdateView):
|
||||
model = Author
|
||||
|
||||
DeleteView
|
||||
----------
|
||||
|
||||
.. class:: django.views.generic.edit.DeleteView
|
||||
|
||||
A view that displays a confirmation page and deletes an existing object.
|
||||
|
@ -171,10 +182,10 @@ editing content:
|
|||
.. attribute:: template_name_suffix
|
||||
|
||||
The DeleteView page displayed to a GET request uses a
|
||||
``template_name_suffix`` of ``'_confirm_delete.html'``. For
|
||||
``template_name_suffix`` of ``'_confirm_delete.html'``. For
|
||||
example, changing this attribute to ``'_check_delete.html'`` for a view
|
||||
deleting objects for the the example `Author` model would cause the the
|
||||
default `template_name` to be ``'myapp/author_check_delete.html'``.
|
||||
default `template_name` to be ``'myapp/author_check_delete.html'``.
|
||||
|
||||
|
||||
**Example views.py**::
|
||||
|
@ -185,4 +196,4 @@ editing content:
|
|||
|
||||
class AuthorDelete(DeleteView):
|
||||
model = Author
|
||||
success_url = reverse_lazy('author-list')
|
||||
success_url = reverse_lazy('author-list')
|
||||
|
|
|
@ -6,7 +6,7 @@ Class-based views API reference. For introductory material, see
|
|||
:doc:`/topics/class-based-views/index`.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:maxdepth: 3
|
||||
|
||||
base
|
||||
generic-display
|
||||
|
|
|
@ -3,6 +3,9 @@ Date-based mixins
|
|||
=================
|
||||
|
||||
|
||||
YearMixin
|
||||
---------
|
||||
|
||||
.. class:: django.views.generic.dates.YearMixin
|
||||
|
||||
A mixin that can be used to retrieve and provide parsing information for a
|
||||
|
@ -36,6 +39,9 @@ Date-based mixins
|
|||
|
||||
Raises a 404 if no valid year specification can be found.
|
||||
|
||||
MonthMixin
|
||||
----------
|
||||
|
||||
.. class:: django.views.generic.dates.MonthMixin
|
||||
|
||||
A mixin that can be used to retrieve and provide parsing information for a
|
||||
|
@ -82,6 +88,9 @@ Date-based mixins
|
|||
date provided. If ``allow_empty = False``, returns the previous month
|
||||
that contained data.
|
||||
|
||||
DayMixin
|
||||
--------
|
||||
|
||||
.. class:: django.views.generic.dates.DayMixin
|
||||
|
||||
A mixin that can be used to retrieve and provide parsing information for a
|
||||
|
@ -127,6 +136,9 @@ Date-based mixins
|
|||
Returns a date object containing the previous day. If
|
||||
``allow_empty = False``, returns the previous day that contained data.
|
||||
|
||||
WeekMixin
|
||||
---------
|
||||
|
||||
.. class:: django.views.generic.dates.WeekMixin
|
||||
|
||||
A mixin that can be used to retrieve and provide parsing information for a
|
||||
|
@ -161,6 +173,9 @@ Date-based mixins
|
|||
Raises a 404 if no valid week specification can be found.
|
||||
|
||||
|
||||
DateMixin
|
||||
---------
|
||||
|
||||
.. class:: django.views.generic.dates.DateMixin
|
||||
|
||||
A mixin class providing common behavior for all date-based views.
|
||||
|
@ -204,6 +219,9 @@ Date-based mixins
|
|||
is greater than the current date/time. Returns
|
||||
:attr:`DateMixin.allow_future` by default.
|
||||
|
||||
BaseDateListView
|
||||
----------------
|
||||
|
||||
.. class:: django.views.generic.dates.BaseDateListView
|
||||
|
||||
A base class that provides common behavior for all date-based views. There
|
||||
|
|
|
@ -14,6 +14,9 @@ The following mixins are used to construct Django's editing views:
|
|||
Examples of how these are combined into editing views can be found at
|
||||
the documentation on ``Generic editing views``.
|
||||
|
||||
FormMixin
|
||||
---------
|
||||
|
||||
.. class:: django.views.generic.edit.FormMixin
|
||||
|
||||
A mixin class that provides facilities for creating and displaying forms.
|
||||
|
@ -90,6 +93,9 @@ The following mixins are used to construct Django's editing views:
|
|||
:meth:`~django.views.generic.FormMixin.form_invalid`.
|
||||
|
||||
|
||||
ModelFormMixin
|
||||
--------------
|
||||
|
||||
.. class:: django.views.generic.edit.ModelFormMixin
|
||||
|
||||
A form mixin that works on ModelForms, rather than a standalone form.
|
||||
|
@ -147,12 +153,16 @@ The following mixins are used to construct Django's editing views:
|
|||
.. method:: form_invalid()
|
||||
|
||||
Renders a response, providing the invalid form as context.
|
||||
|
||||
|
||||
|
||||
ProcessFormView
|
||||
---------------
|
||||
|
||||
.. class:: django.views.generic.edit.ProcessFormView
|
||||
|
||||
A mixin that provides basic HTTP GET and POST workflow.
|
||||
|
||||
.. note::
|
||||
.. note::
|
||||
|
||||
This is named 'ProcessFormView' and inherits directly from
|
||||
:class:`django.views.generic.base.View`, but breaks if used
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
Multiple object mixins
|
||||
======================
|
||||
|
||||
MultipleObjectMixin
|
||||
-------------------
|
||||
|
||||
.. class:: django.views.generic.list.MultipleObjectMixin
|
||||
|
||||
A mixin that can be used to display a list of objects.
|
||||
|
@ -148,6 +151,9 @@ Multiple object mixins
|
|||
this context variable will be ``None``.
|
||||
|
||||
|
||||
MultipleObjectTemplateResponseMixin
|
||||
-----------------------------------
|
||||
|
||||
.. class:: django.views.generic.list.MultipleObjectTemplateResponseMixin
|
||||
|
||||
A mixin class that performs template-based response rendering for views
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
Simple mixins
|
||||
=============
|
||||
|
||||
ContextMixin
|
||||
------------
|
||||
|
||||
.. class:: django.views.generic.base.ContextMixin
|
||||
|
||||
.. versionadded:: 1.5
|
||||
|
@ -17,6 +20,9 @@ Simple mixins
|
|||
Returns a dictionary representing the template context. The
|
||||
keyword arguments provided will make up the returned context.
|
||||
|
||||
TemplateResponseMixin
|
||||
---------------------
|
||||
|
||||
.. class:: django.views.generic.base.TemplateResponseMixin
|
||||
|
||||
Provides a mechanism to construct a
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
Single object mixins
|
||||
====================
|
||||
|
||||
SingleObjectMixin
|
||||
-----------------
|
||||
|
||||
.. class:: django.views.generic.detail.SingleObjectMixin
|
||||
|
||||
Provides a mechanism for looking up an object associated with the
|
||||
|
@ -86,6 +89,9 @@ Single object mixins
|
|||
``context_object_name`` is specified, that variable will also be
|
||||
set in the context, with the same value as ``object``.
|
||||
|
||||
SingleObjectTemplateResponseMixin
|
||||
---------------------------------
|
||||
|
||||
.. class:: django.views.generic.detail.SingleObjectTemplateResponseMixin
|
||||
|
||||
A mixin class that performs template-based response rendering for views
|
||||
|
|
Loading…
Reference in New Issue