#django/urls.py urlpatterns = patterns('', url(r'myapp/', include('myapp.urls')), url(r'^admin/', include(admin.site.urls)), ) #myapp/urls.py urlpatterns = patterns('myapp.views', url(r'^$', 'index', name='index'), url(r'register/$', 'register', name='register'), url(r'myaccount/$', 'myaccount', name='myaccount'), url(r'login/$', 'login_page', name='login'), url(r'logout/$', 'logout_user', name='logout') ) #myapp/login.py def login_page(request): if request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) form = LoginForm(request.POST or None) if form.is_valid(): username = form.cleaned_data['username'] username = username.capitalize() password = form.cleaned_data['password'] try: User.objects.get(username=username) except: return render(request, 'myapp/login.html', { 'form': form, 'error': "Account doesn't exist" }) user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) return HttpResponseRedirect(reverse('index')) else: return render(request, 'myapp/login.html', { 'form': form, 'error': 'Account is disabled or banned', }) else: return render(request, 'myapp/login.html', { 'form': form, 'form': 'Authentication Error!' }) return render(request, 'myapp/login.html', { 'form': form, }) {% if not user.is_authenticated %} #myapp/templates/myapp/login.html Login
{% csrf_token %} {{ form.as_p }}
{{ error }} {% endif %}