I thought this would be simpler than it turned out to be. Here’s the ‘before’ code:
def start(request): ## clear out all session variables request.session['username'] = None return render_to_response('start.html', context_instance=RequestContext(request) )
This view resets a session variable and sends out a template. Not too tough.
Next, is my first attempt to convert to a class-based view:
class StartView(TemplateView): template_name = "start.html" self.request.session['username'] = None
However, I quickly learned that ‘self’ is not available here. So, I picked a method, and overrode it to include my reset code:
class StartView(TemplateView): template_name = "start.html" def render_to_response(self,context, **response_kwargs): self.request.session['username'] = None return super(StartView, self).render_to_response(context, **response_kwargs)
Sure, this works, but there is likely a better way.
Please leave your suggestions in the comments below.