Performance: Why Django built-in auth matters
This affects page load speed and interaction responsiveness by reducing custom code and leveraging optimized, tested authentication flows.
Jump into concepts and practice - no test required
from django.contrib.auth import authenticate, login def login_view(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('home') return render(request, 'login.html')
def login_view(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = custom_authenticate(username, password) # custom code if user: request.session['user_id'] = user.id return redirect('home') return render(request, 'login.html')
| Pattern | Server Processing | Network Delay | Client Rendering | Verdict |
|---|---|---|---|---|
| Custom Authentication Code | High (extra logic) | Medium (longer wait) | Normal | [X] Bad |
| Django Built-in Authentication | Low (optimized code) | Low (faster response) | Normal | [OK] Good |
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
@login_required
def secret_page(request):
return HttpResponse('Secret content')/secret_page/?from django.contrib.auth import authenticate, login
from django.http import HttpResponse
def user_login(request):
user = authenticate(username=request.POST['username'], password=request.POST['password'])
if user:
login(user)
return HttpResponse('Logged in')
else:
return HttpResponse('Invalid credentials')