from django.views.generic import View from django.template import RequestContext from django.shortcuts import render_to_response from django.contrib.auth import logout from django.utils.translation import ugettext_lazy as _ from django.http import HttpResponseRedirect from django.contrib import messages from django.contrib.auth import login from .forms import LoginForm class LoginView(View): template = 'users/login.html' def get(self, request): context = { 'login_form': LoginForm() } ctx = RequestContext(request, context) return render_to_response(self.template, context_instance=ctx) def post(self, request): login_form = LoginForm(request.POST) if login_form.is_valid(): user = login_form.authenticate() login(request, user) messages.success( request, _('Logged in successfully.') ) return HttpResponseRedirect('/') context = { 'login_form': login_form, } ctx = RequestContext(request, context) return render_to_response(self.template, context_instance=ctx) class LogoutView(View): def get(self, request): logout(request) messages.success( request, _('Logged out successfully') ) return HttpResponseRedirect('/')