Junior — Middle
What methods and mechanisms are used in Django to implement user authentication?
sobes.tech AI
Answer from AI
In Django, user authentication is implemented using the built-in django.contrib.auth application. The main mechanisms and methods:
- User Model: the standard user model with fields for name, password, email, etc.
- Authentication: the
authenticate(request, username, password)function checks the correctness of the entered data and returns a user object orNone. - Login: the
login(request, user)function saves user information in the session. - Logout: the
logout(request)function removes user data from the session. - Middleware:
AuthenticationMiddlewareadds the user object to each request (request.user).
Example of usage:
from django.contrib.auth import authenticate, login
def my_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
# User successfully logged in
else:
# Invalid credentials
You can also use ready-made forms and views from django.contrib.auth.views to simplify the work.