django-pragmatic

Pragmatic tools and utilities for Django projects.

Overview

django-pragmatic is a collection of reusable building blocks for Django projects. All components are independent and can be used selectively — include only what you need.

Module

What it provides

Models

DeletedObject — audit trail for deleted model instances

Mixins

CBV and form mixins for permissions, deletion, list views, PDF, slugs

Decorators

View decorators, PostgreSQL table lock, cache context manager

Template Tags

{% load pragmatic_tags %} — filter values, sorting, pagination, URL tools

Fields

RangeField, SliderField, MultiSelectField, ChoiceArrayField

Filters

django-filters extensions: SliderFilter, OneFieldRangeFilter, etc.

Widgets

GroupedCheckboxSelectMultiple, SliderWidget, map widgets

Middleware

MaintenanceModeMiddleware — serve 503 during downtime

Managers

EmailManager — template-based email with optional RQ background queue

Context Processors

Date formats, installed apps, URL identifier, settings

Signals

SignalsHelper, APM integration, temporary_disconnect_signal

Utilities

build_absolute_uri, get_task_decorator, zip compression

Background Jobs

Background email via RQ, ConnectionClosingWorker

REST Framework

ContentTypeSerializer, HybridRouter, BearerAuthentication

Management Commands

clean_migrations, rqscheduler