django-beam

A crud library for python


Keywords
crud, django, python
License
BSD-1-Clause
Install
pip install django-beam==1.6.0

Documentation

django-beam CI ReadTheDocs codecov

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.

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:

  1. Install django-beam:
pip install django-beam
  1. Add "beam" and "crispy_forms" to your INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
    # ...
    "beam",
    "beam.themes.bootstrap4",
    "crispy_forms",
]
  1. Import and use beam in 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 with django-autocomplete-light.
  • beam.contrib.reversion: Experimental integration with django-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 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:

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.