django-beam

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.
Breaking changes
- In version 4.0, django-beam now depends on
django-crispy-forms2.x. Projects using django-beam must installcrispy-bootstrap4, add"crispy_bootstrap4"toINSTALLED_APPS, and setCRISPY_TEMPLATE_PACK = "bootstrap4". - In version 3.0,
Componentwas renamed toFacetin order to reduce confusion with web components.
Features
- CRUD operations based on class-based views
- Easily extensible
- Extensions for common use cases and popular third-party packages
Documentation
The full documentation can be found at https://django-beam.readthedocs.io/en/latest/.
Quickstart
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_APPSinsettings.py:
INSTALLED_APPS = [
# ...
"beam",
"beam.themes.bootstrap4",
"crispy_bootstrap4",
"crispy_forms",
]
CRISPY_ALLOWED_TEMPLATE_PACKS = ("bootstrap4",)
CRISPY_TEMPLATE_PACK = "bootstrap4"
- 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
The 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 withdjango-autocomplete-light.beam.contrib.reversion: Experimental integration withdjango-reversion.
Refer to the documentation for usage instructions on each of the contrib packages.
Testing
You can use the tox testing tool to run the tests:
tox -e py312-django_latest
Run the tests of a specific test file only:
tox -e py312-django_latest -- test_tags
Run against all supported versions of Python and Django:
tox
Support
If you encounter any issues or have questions, please refer to the django-beam documentation or raise an issue on the GitHub repository.
Metadata
Release files for django-beam 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_beam-4.0.0.tar.gz | 102.8 kB | Details |
Release files / django_beam-4.0.0.tar.gz
| Download URL | django_beam-4.0.0.tar.gz |
|---|---|
| Size | 102.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80a55196d158b57867bc2ab886d9a2ad0496d7fa50b1d30b3b0f83ac01bae8d6
|
|
BLAKE2b-256 checksum How to use checksums |
4b9b7bc3ba800c174ad7ef1e2569a31e29c829c2279b3098b1912e4426ddba27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|