Skip to main content

Django CRUD Views

Tests Lint Coverage PyPI License Docs

Stop hand-writing the same list, detail, create, update and delete views for every model. Define your model, register a ViewSet, and Django CRUD Views generates the pages, wires up every URL, and cross-links the views — using your templates and your permissions, right inside your own app.

This is all you write

# app/views.py
import django_tables2 as tables

from crud_views.lib.viewset import ViewSet
from crud_views.lib.table import Table
from crud_views.lib.views import (
    ListViewTableMixin,
    ListViewPermissionRequired,
    DetailViewPermissionRequired,
    CreateViewPermissionRequired,
    UpdateViewPermissionRequired,
    DeleteViewPermissionRequired,
)
from .models import Author

cv_author = ViewSet(model=Author, name="author")


class AuthorTable(Table):
    first_name = tables.Column()
    last_name = tables.Column()


class AuthorList(ListViewTableMixin, ListViewPermissionRequired):
    cv_viewset = cv_author
    table_class = AuthorTable


class AuthorDetail(DetailViewPermissionRequired):
    cv_viewset = cv_author


class AuthorCreate(CreateViewPermissionRequired):
    cv_viewset = cv_author
    fields = ["first_name", "last_name"]


class AuthorUpdate(UpdateViewPermissionRequired):
    cv_viewset = cv_author
    fields = ["first_name", "last_name"]


class AuthorDelete(DeleteViewPermissionRequired):
    cv_viewset = cv_author
# app/urls.py
urlpatterns = cv_author.urlpatterns

You get list, detail, create, update and delete pages, every URL wired up, the views cross-linked, and access gated by Django's permission system.

Why developers use it

  • Skip the CRUD boilerplate — one ViewSet replaces a pile of near-identical class-based views and urls.py entries.
  • Views that know their siblings — automatic cross-linking that respects Django's permissions; no hand-written reverse() wiring.
  • Your app, your control — your templates, URLs and permissions; not locked inside /admin.
  • Batteries included — sortable, filterable, paginated tables, crispy forms and per-object permissions, integrated out of the box.
  • Grows with you — nested parent/child URLs from ForeignKeys, plus optional workflow (FSM) and polymorphic models; Django system checks catch misconfiguration at startup.
  • Resources — render non-ORM data (S3 listings, API results) through ViewSets: list, detail and custom actions without a Django model. See docs.

Built on django-tables2, django-filter, django-crispy-forms, django-polymorphic, django-guardian, django-ordered-model and django-object-detail.

Install

pip install django-crud-views

Optional extras: django-crud-views[guardian] (per-object permissions), django-crud-views[ordered] (up/down ordering), django-crud-views[all] (everything).

What it is not

  • a replacement for Django's admin interface
  • a complete page building system with navigations and lots of widgets

Documentation

Full tutorial and reference: https://django-crud-views.readthedocs.io

Current version

Current version: 0.14.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_crud_views-0.14.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_crud_views-0.14.0-py3-none-any.whl (142.4 kB view details)

Uploaded Python 3

File details

Details for the file django_crud_views-0.14.0.tar.gz.

File metadata

  • Download URL: django_crud_views-0.14.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for django_crud_views-0.14.0.tar.gz
Algorithm Hash digest
SHA256 3e937d8be72e78407e1894d78c95a67abfc2b60666e725b7311f4d3ea76847a8
MD5 b77fb43af38e2b30fbef8a5db2b6dc27
BLAKE2b-256 2a3b2a55c2a32cc770d0905a31d0b3c0d81d488df1d65147101b3ef2dae5bf57

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_crud_views-0.14.0.tar.gz:

Publisher: publish.yml on jacob-consulting/django-crud-views

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_crud_views-0.14.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_crud_views-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bdc6c667549571272e64f8674f1520f89c23ec69b75c7893d3e63bd2b1cec2b
MD5 13078abdedd50e053724d0c88077dfd2
BLAKE2b-256 5f3812178ec7951df083d5f59d10425d46ea36399cf64bade6c711545a917dc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_crud_views-0.14.0-py3-none-any.whl:

Publisher: publish.yml on jacob-consulting/django-crud-views

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

This release

0.14.0 This release

2 files

0.13.0

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.12

2 files

0.3.11

2 files

0.3.10

2 files

0.3.8

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.0.11

2 files

0.0.10

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page