A crud library for python
django-beam provides you with a set of views, templates, and integrations for the most common CRUD applications. It aims to offer the functionality of Django's own admin but in a way that integrates seamlessly with your frontend code.
- CRUD operations based on class-based views
- Easily extensible
- Extensions for common use cases and popular third-party packages
The full documentation can be found at https://django-beam.readthedocs.io/en/latest/.
To get started, you'll need to follow these steps:
- Install django-beam:
pip install django-beam
- Add "beam" and "crispy_forms" to your
INSTALLED_APPS = [ # ... "beam", "beam.themes.bootstrap4", "crispy_forms", ]
- Import and use
beamin your Django project, as shown in the example below:
# books/models.py from django.db import models class Book(models.Model): title = models.CharField(max_length=255) author = models.ForeignKey("Author", on_delete=models.CASCADE, related_name="books") class Author(models.Model): title = models.CharField(max_length=255) # books/views.py import beam class BookViewSet(beam.ViewSet): model = Book fields = ['title', 'author'] class AuthorViewSet(beam.ViewSet): model = Author fields = ['title'] # urls.py from django.urls import path, include urlpatterns = [ path('books/', include(BookViewSet().get_urls())), path('authors/', include(AuthorViewSet().get_urls())), # ... ]
For more examples and detailed explanations of various django-beam features, refer to the full documentation.
beam.contrib package provides integration with several third-party Django apps, such as:
beam.contrib.auth: Viewsets for editing users and groups, and optional templates for default Django registration views.
beam.contrib.autocomplete_light: Integration with
beam.contrib.reversion: Experimental integration with
Refer to the documentation for usage instructions on each of the contrib packages.
You can use the tox testing tool to run the tests:
tox -e py38-djangolatest
Run the tests of a specific test file only:
tox -e py38-djangolatest -- test_tags
Run against all supported versions of Python and Django:
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.