Implement user authentication system with custom user model, views, and templates

- Created custom User model extending Django's AbstractUser.
- Added user registration, login, and profile views with corresponding templates.
- Implemented user authentication functionality and integrated Bootstrap for styling.
- Updated project settings to use the new accounts app and user model.
- Added tests for user model and admin functionality.
This commit is contained in:
Joakim Hellsén 2025-07-21 02:57:44 +02:00
commit faddc4c9b0
22 changed files with 556 additions and 24 deletions

21
accounts/models.py Normal file
View file

@ -0,0 +1,21 @@
from __future__ import annotations
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
"""Custom User model extending Django's AbstractUser.
This allows for future customization of the User model
while maintaining all the default Django User functionality.
"""
# Add any custom fields here in the future
# For example:
# bio = models.TextField(max_length=500, blank=True)
# avatar = models.ImageField(upload_to='avatars/', blank=True, null=True)
class Meta:
db_table = "auth_user" # Keep the same table name as Django's default User
verbose_name = "User"
verbose_name_plural = "Users"