Skip to content

Django powercrud

Advanced CRUD for perfectionists with deadlines. An opinionated extension of Neapolitan, with sprinkles.

What is powercrud?

The neapolitan package gives you a solid foundation for Django CRUD views. But you still need to add filtering, bulk operations, modern UX features, and styling yourself.

powercrud comes with these features built-in, specifically for user-facing CRUD interfaces. Use what you need, customize what you want.

Early Alpha Release

This is a very early alpha release with limited tests and documentation. Expect breaking changes. You might prefer to fork or copy what you need.

See the full documentation.

Key Features

🎯 Advanced CRUD Operations - Filtering, pagination, bulk edit/delete (with async) out of the box
âš¡ Modern Web UX - HTMX integration, modals, and reactive updates
🔧 Developer Friendly - Convention over configuration with full customization options
🎨 Multiple CSS Frameworks - daisyUI with tailwindcss (default) and Bootstrap 5 support

Bootstrap5 Templates Outdated

Bootstrap templates are currently out of date as all recent development has focused on daisyUI. Once async support is finalised and tested, Bootstrap templates will either be updated or removed.

Quick Example

Start with basic neapolitan:

# Basic neapolitan
class ProjectView(CRUDView):
    model = Project

Add powercrud for advanced features:

# With powercrud
class ProjectView(powercrudMixin, CRUDView):
    model = Project
    fields = ["name", "owner", "status"]
    base_template_path = "core/base.html"

    # Modern features
    use_htmx = True
    use_modal = True

    # Advanced filtering
    filterset_fields = ["owner", "status", "created_date"]

    # Bulk operations
    bulk_fields = ["status", "owner"]
    bulk_delete = True

    # Enhanced display
    properties = ["is_overdue", "days_remaining"]

See the Getting Started section for more details.