How to implement user authentication in Django

Answered
Jan 05, 2026 1534 views 1 answers
41

I need to add login, logout, and registration functionality to my Django app. What is the best approach?

F
Asked by fatima_dev
Silver 169 rep

1 Answer

7

Use built-in auth views

# urls.py
from django.contrib.auth import views as auth_views

urlpatterns = [
    path('login/', auth_views.LoginView.as_view(), name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]

Custom registration view

from django.contrib.auth.forms import UserCreationForm

def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect('home')
    else:
        form = UserCreationForm()
    return render(request, 'registration/register.html', {'form': form})

Protect views

from django.contrib.auth.decorators import login_required

@login_required
def dashboard(request):
    return render(request, 'dashboard.html')
S
Answered by security_pro 1 week, 2 days ago
Bronze 259 rep

Your Answer

You need to be logged in to answer questions.

Log In to Answer