Skip to content

Instantly share code, notes, and snippets.

@katiayn
Last active June 28, 2024 09:52
Show Gist options
  • Save katiayn/bac240e66eac73e49738863e8436e514 to your computer and use it in GitHub Desktop.
Save katiayn/bac240e66eac73e49738863e8436e514 to your computer and use it in GitHub Desktop.
What's new in Django 5.1: Middleware to require authentication by default
# <project>/settings.py
MIDDLEWARE = [
# ...
'django.contrib.auth.middleware.LoginRequiredMiddleware',
]
# <app>/urls.py
from django.contrib.auth.decorators import login_not_required
from django.http import HttpResponse
from django.urls import path
def login_required(request):
return HttpResponse('Hello, logged users! Login was required.')
@login_not_required # ← when login is not required
def login_not_required(request):
return HttpResponse('Hello, world! Login is not required.')
urlpatterns = [
# ...
path('login-required/', login_required),
path('login-not-required/', login_not_required),
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment