Django Auth Starter Kit

Django Auth Starter Kit

Django Auth Starter Kit Documentation

Overview

A complete, production-ready authentication system for Django 5.2+ with beautiful Bootstrap 5 UI. Includes login, registration, password reset, and profile management.

Quick Start

Requirements

  • Python 3.10+
  • pip (Python package manager)

Installation

# 1. Unzip the project
unzip django-auth-starter-kit.zip
cd django-auth-kit

# 2. Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\\Scripts\\activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. Apply migrations
python manage.py migrate

# 5. Create a superuser (optional)
python manage.py createsuperuser

# 6. Run the server
python manage.py runserver

Visit http://127.0.0.1:8000 -- that's it!

Features

1. User Registration

  • First name, last name, email, username, password fields
  • Form validation with error messages
  • Automatic login after registration

2. Login / Logout

  • Username and password authentication
  • "Remember Me" checkbox
  • Flash messages on login/logout
  • Redirect to profile after login

3. Password Reset

  • Email-based password reset flow
  • Secure token-based reset links
  • Confirmation page after reset

4. Profile Management

  • Avatar upload with initials fallback
  • Edit personal info (name, email)
  • Profile details (bio, location, website)
  • Form validation and success messages

Customization

Changing the Design

  • Templates are in accounts/templates/
  • Custom CSS in static/css/auth.css
  • Uses Bootstrap 5.3 -- customize with Bootstrap variables or override in auth.css

Extending the User Model

  • Profile model in accounts/models.py -- add any fields you need
  • Forms in accounts/forms.py -- update to include new fields

Switching to PostgreSQL

Update project/settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'your_db_name',
        'USER': 'your_db_user',
        'PASSWORD': 'your_db_password',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Email Configuration

For password reset to work, configure email in project/settings.py:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-email@gmail.com'
EMAIL_HOST_PASSWORD = 'your-app-password'

Dependencies

  • Django 5.2+
  • Pillow 10.0+ (avatar handling)
  • django-crispy-forms 2.0+
  • crispy-bootstrap5 0.7+

License

Free to use for personal and commercial projects. No attribution required.

Support

Info

Product: Django Auth Starter Kit

Type: Digital Product

Updated: Mar 11, 2026


All Documentation