#28943: Unenforce manual get_context_data()
-------------------------------------+-------------------------------------
     Reporter:  James Pic            |                    Owner:  nobody
         Type:                       |                   Status:  new
  Cleanup/optimization               |
    Component:  Generic views        |                  Version:  2.0
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  1                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Description changed by James Pic:

Old description:

> Currently, TemplateView inherits render_to_response(context) from
> TemplateResponseMixin which requires a context argument.
>
> Instead, TemplateView should have its own
> render_to_response(context=None) that would get a context by default from
> get_context_data().
>
> TemplateView.render_to_response() should call its
> ContextMixin.get_context_data() method automatically is because
> TemplateView inherits from both TemplateResponseMixin, and ContextMixin
> which provides the get_context_data() method.

New description:

 Currently, TemplateView inherits render_to_response(context) from
 TemplateResponseMixin which requires a context argument.

 Instead, TemplateView should have its own render_to_response(context=None)
 that would get a context by default from get_context_data().

 TemplateView.render_to_response() should call its
 ContextMixin.get_context_data() method automatically is because
 TemplateView inherits from both TemplateResponseMixin, and ContextMixin
 which provides the get_context_data() method.

 Currently, the workaround is to call TemplateResponse.get(request, *args,
 **kwargs), but users should really be calling what they mean to do
 instead: super().render_to_response()

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/28943#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/062.f0e11cf8f9b4a9a1fcb754155d314cce%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to