django.views.generic.detail.
SingleObjectMixin
¶Provides a mechanism for looking up an object associated with the current HTTP request.
Methods and Attributes
model
¶The model that this view will display data for. Specifying model
= Foo
is effectively the same as specifying queryset =
Foo.objects.all()
, where objects
stands for Foo
’s
default manager.
queryset
¶A QuerySet
that represents the objects. If provided, the value of
queryset
supersedes the value provided for model
.
Warning
queryset
is a class attribute with a mutable value so care
must be taken when using it directly. Before using it, either call
its all()
method or
retrieve it with get_queryset()
which takes care of the
cloning behind the scenes.
slug_field
¶The name of the field on the model that contains the slug. By default,
slug_field
is 'slug'
.
slug_url_kwarg
¶The name of the URLConf keyword argument that contains the slug. By
default, slug_url_kwarg
is 'slug'
.
pk_url_kwarg
¶The name of the URLConf keyword argument that contains the primary key.
By default, pk_url_kwarg
is 'pk'
.
context_object_name
¶Designates the name of the variable to use in the context.
get_object
(queryset=None)¶Returns the single object that this view will display. If
queryset
is provided, that queryset will be used as the
source of objects; otherwise, get_queryset()
will be used.
get_object()
looks for a pk_url_kwarg
argument in the
arguments to the view; if this argument is found, this method performs
a primary-key based lookup using that value. If this argument is not
found, it looks for a slug_url_kwarg
argument, and performs a
slug lookup using the slug_field
.
get_queryset
()¶Returns the queryset that will be used to retrieve the object that
this view will display. By default, get_queryset()
returns the
value of the queryset
attribute if it is set, otherwise
it constructs a QuerySet
by calling
the all()
method on the model
attribute’s default manager.
get_context_object_name
(obj)¶Return the context variable name that will be used to contain the
data that this view is manipulating. If context_object_name
is
not set, the context name will be constructed from the model_name
of the model that the queryset is composed from. For example, the model
Article
would have context object named 'article'
.
get_context_data
(**kwargs)¶Returns context data for displaying the list of objects.
The base implementation of this method requires that the object
attribute be set by the view (even if None
). Be sure to do this if
you are using this mixin without one of the built-in views that does so.
get_slug_field
()¶Returns the name of a slug field to be used to look up by slug. By
default this simply returns the value of slug_field
.
Context
object
: The object that this view is displaying. If
context_object_name
is specified, that variable will also be
set in the context, with the same value as object
.django.views.generic.detail.
SingleObjectTemplateResponseMixin
¶A mixin class that performs template-based response rendering for views
that operate upon a single object instance. Requires that the view it is
mixed with provides self.object
, the object instance that the view is
operating on. self.object
will usually be, but is not required to be,
an instance of a Django model. It may be None
if the view is in the
process of constructing a new instance.
Extends
Methods and Attributes
template_name_field
¶The field on the current object instance that can be used to determine
the name of a candidate template. If either template_name_field
itself or the value of the template_name_field
on the current
object instance is None
, the object will not be used for a
candidate template name.
template_name_suffix
¶The suffix to append to the auto-generated candidate template name.
Default suffix is _detail
.
get_template_names
()¶Returns a list of candidate template names. Returns the following list:
template_name
on the view (if provided)template_name_field
field on the
object instance that the view is operating upon (if available)<app_label>/<model_name><template_name_suffix>.html
Feb 24, 2017