Django Crud Views
Project description
Django CRUD Views
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.pyentries. - 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.
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.10.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_crud_views-0.10.0.tar.gz.
File metadata
- Download URL: django_crud_views-0.10.0.tar.gz
- Upload date:
- Size: 907.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3537221a6e02f8694e5f6c3caee2978e841f8d0bb87b74a68708d5ad57fdd05
|
|
| MD5 |
8e78d0dc3a913bb6abe921df78021da4
|
|
| BLAKE2b-256 |
219119dfab4c5a92f597e650edbddd30d36abd4e210b24ac0986d25390ec22ff
|
Provenance
The following attestation bundles were made for django_crud_views-0.10.0.tar.gz:
Publisher:
publish.yml on jacob-consulting/django-crud-views
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_crud_views-0.10.0.tar.gz -
Subject digest:
d3537221a6e02f8694e5f6c3caee2978e841f8d0bb87b74a68708d5ad57fdd05 - Sigstore transparency entry: 1940449330
- Sigstore integration time:
-
Permalink:
jacob-consulting/django-crud-views@f8d498764bc469a38b2dd1555a4d410f31e6d64f -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/jacob-consulting
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f8d498764bc469a38b2dd1555a4d410f31e6d64f -
Trigger Event:
push
-
Statement type:
File details
Details for the file django_crud_views-0.10.0-py3-none-any.whl.
File metadata
- Download URL: django_crud_views-0.10.0-py3-none-any.whl
- Upload date:
- Size: 140.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac32cecbe7e41523b106bd91e5495e742a0c6752570fe775bffe7d769ad5b6b5
|
|
| MD5 |
d8d072a01152418a49d52861dd9f416d
|
|
| BLAKE2b-256 |
5b920fae66a42144c98ea338e8f90065b6fc21f6f8868122d1375e17d492135e
|
Provenance
The following attestation bundles were made for django_crud_views-0.10.0-py3-none-any.whl:
Publisher:
publish.yml on jacob-consulting/django-crud-views
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_crud_views-0.10.0-py3-none-any.whl -
Subject digest:
ac32cecbe7e41523b106bd91e5495e742a0c6752570fe775bffe7d769ad5b6b5 - Sigstore transparency entry: 1940449433
- Sigstore integration time:
-
Permalink:
jacob-consulting/django-crud-views@f8d498764bc469a38b2dd1555a4d410f31e6d64f -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/jacob-consulting
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f8d498764bc469a38b2dd1555a4d410f31e6d64f -
Trigger Event:
push
-
Statement type: