mirror of
https://github.com/django/django.git
synced 2025-09-26 12:09:19 +00:00
[1.8.x] Fixed #24168 -- Allowed selecting a template engine in a few APIs.
Specifically in rendering shortcuts, template responses, and class-based views that return template responses. Also added a test for render_to_response(status=...) which was missing fromfdbfc980
. Thanks Tim and Carl for the review. Backport of2133f31
from master. Conflicts: docs/topics/http/shortcuts.txt tests/generic_views/test_base.py
This commit is contained in:
parent
3af1e7860e
commit
f87457a460
19 changed files with 180 additions and 22 deletions
|
@ -35,6 +35,7 @@ TemplateView
|
|||
* :attr:`~django.views.generic.base.TemplateResponseMixin.content_type`
|
||||
* :attr:`~django.views.generic.base.View.http_method_names`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
|
||||
**Methods**
|
||||
|
@ -89,6 +90,7 @@ DetailView
|
|||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_field` [:meth:`~django.views.generic.detail.SingleObjectMixin.get_slug_field`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_url_kwarg`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_field`
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
@ -124,6 +126,7 @@ ListView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
||||
|
@ -155,6 +158,7 @@ FormView
|
|||
* :attr:`~django.views.generic.edit.FormMixin.prefix` [:meth:`~django.views.generic.edit.FormMixin.get_prefix`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.edit.FormMixin.success_url` [:meth:`~django.views.generic.edit.FormMixin.get_success_url`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
|
||||
**Methods**
|
||||
|
@ -191,6 +195,7 @@ CreateView
|
|||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_field` [:meth:`~django.views.generic.detail.SingleObjectMixin.get_slug_field`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_url_kwarg`
|
||||
* :attr:`~django.views.generic.edit.FormMixin.success_url` [:meth:`~django.views.generic.edit.FormMixin.get_success_url`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_field`
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
@ -232,6 +237,7 @@ UpdateView
|
|||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_field` [:meth:`~django.views.generic.detail.SingleObjectMixin.get_slug_field`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_url_kwarg`
|
||||
* :attr:`~django.views.generic.edit.FormMixin.success_url` [:meth:`~django.views.generic.edit.FormMixin.get_success_url`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_field`
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
@ -269,6 +275,7 @@ DeleteView
|
|||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_field` [:meth:`~django.views.generic.detail.SingleObjectMixin.get_slug_field`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_url_kwarg`
|
||||
* :attr:`~django.views.generic.edit.DeletionMixin.success_url` [:meth:`~django.views.generic.edit.DeletionMixin.get_success_url`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_field`
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
@ -308,6 +315,7 @@ ArchiveIndexView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
||||
|
@ -346,6 +354,7 @@ YearArchiveView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
* :attr:`~django.views.generic.dates.YearMixin.year` [:meth:`~django.views.generic.dates.YearMixin.get_year`]
|
||||
|
@ -387,6 +396,7 @@ MonthArchiveView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
* :attr:`~django.views.generic.dates.YearMixin.year` [:meth:`~django.views.generic.dates.YearMixin.get_year`]
|
||||
|
@ -428,6 +438,7 @@ WeekArchiveView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
* :attr:`~django.views.generic.dates.WeekMixin.week` [:meth:`~django.views.generic.dates.WeekMixin.get_week`]
|
||||
|
@ -473,6 +484,7 @@ DayArchiveView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
* :attr:`~django.views.generic.dates.YearMixin.year` [:meth:`~django.views.generic.dates.YearMixin.get_year`]
|
||||
|
@ -520,6 +532,7 @@ TodayArchiveView
|
|||
* :attr:`~django.views.generic.list.MultipleObjectMixin.paginator_class`
|
||||
* :attr:`~django.views.generic.list.MultipleObjectMixin.queryset` [:meth:`~django.views.generic.list.MultipleObjectMixin.get_queryset`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix`
|
||||
* :attr:`~django.views.generic.dates.YearMixin.year` [:meth:`~django.views.generic.dates.YearMixin.get_year`]
|
||||
|
@ -565,6 +578,7 @@ DateDetailView
|
|||
* :attr:`~django.views.generic.base.TemplateResponseMixin.response_class` [:meth:`~django.views.generic.base.TemplateResponseMixin.render_to_response`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_field` [:meth:`~django.views.generic.detail.SingleObjectMixin.get_slug_field`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectMixin.slug_url_kwarg`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_engine`
|
||||
* :attr:`~django.views.generic.base.TemplateResponseMixin.template_name` [:meth:`~django.views.generic.base.TemplateResponseMixin.get_template_names`]
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_field`
|
||||
* :attr:`~django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix`
|
||||
|
|
|
@ -49,6 +49,15 @@ TemplateResponseMixin
|
|||
a ``template_name`` will raise a
|
||||
:class:`django.core.exceptions.ImproperlyConfigured` exception.
|
||||
|
||||
.. attribute:: template_engine
|
||||
|
||||
.. versionadded:: 1.8
|
||||
|
||||
The :setting:`NAME <TEMPLATES-NAME>` of a template engine to use for
|
||||
loading the template. ``template_engine`` is passed as the ``using``
|
||||
keyword argument to ``response_class``. Default is ``None``, which
|
||||
tells Django to search for the template in all configured engines.
|
||||
|
||||
.. attribute:: response_class
|
||||
|
||||
The response class to be returned by ``render_to_response`` method.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue