Przyszło Django 1.3, pojawiła się paskudna implementacja class-based views, direct_to_template
zostało oznaczone jako przestarzałe. Ale pojawił się też godny następca, choć z class-based views nie ma nic wspólnego.
Nie piszemy więc tak:
from django.shortcuts import render_to_response
from django.template import RequestContext
def foo(request):
# ...
return render_to_response('foo.html', {'bar': baz},
context_instance=RequestContext(request))
Nie piszemy też tak:
from django.views.generic.simple import direct_to_template
def foo(request):
# ...
return direct_to_template(request, 'foo.html', {'bar': baz})
Ani — tym bardziej — tak:
from django.views.generic import TemplateView
def foo(request):
# ...
return TemplateView.as_view(template_name='foo.html')(request, bar=baz)
Drodzy państwo, zamiast powyższych używamy:
from django.template.response import TemplateResponse
def foo(request):
# ...
return TemplateResponse(request, 'foo.html', {'bar': baz})