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 | Provenance | Actions |
|---|---|---|---|---|
| django_beam-4.0.0.tar.gz | 102.8 kB | Without provenance | Details for django_beam-4.0.0.tar.gz |
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
|
Security for django-beam 4.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.