Skip to main content

Engine to create database applications based on Django and the IBM Carbon Design System

Project description

CI Documentation Status Translation status

Documentation

Documentation is hosted at readthedocs.io

BREAD Engine

This package provides functionality to create django database applications in a quick and customizable way. Similar concept are CRUD (create-read-update-delete) frameworks or RAD (rapid application development) tools. BREAD is also partly a replacement of the django-admin interface, however, there is no API compatability to it.

Installation

pip install basx-bread

Quickstart

The following are the required step to get a new project quickly up and running. For seasoned Django users there should be nothing new for the most parts. In that case only the section Registering the UI might be worth reading.

Setup

    python3 -m venv .venv
    . .venv/bin/activate # this is for bash, for windows use the script .venv/bin/Activate.ps1, there are also scripts for csh and fish
    pip install basx-bread # should run without problems, but users reported problems in some Mac setups due to native libraries missing
    django-admin startproject --template $( pip show basx-bread | grep '^Location: ' | cut -c 11- )/bread/resources/project_template/ myproject . # template-project for bread

    # adding a Django "app", Django projects consist of different apps with different models, pretty standard
    # can also be achieved with "python manage.py startapp mymodels" but it would create a few unnecessary files
    mkdir mymodels mymodels/migrations
    touch mymodels/__init__.py mymodels/migrations/__init__.py
    echo -e 'from django.apps import AppConfig\n\n\nclass Mymodels(AppConfig):\n    name = "mymodels"' > mymodels/apps.py

After this the file mymodels/models.py needs to be created and filled with your database models. Then add "mymodels" to the list of INSTALLED_APPS inside myproject/settings/base.py.

Registering the UI

In order to get started with the UI quickly the following code can be put into mymodels/urls.py. The code below assumes there exists a single model inside mymodels/models.py called MyModel.

    from bread.utils import quickregister
    from . import models

    urlpatterns = []
    quickregister(urlpatterns, models.MyModel)

The root URL list in myproject/urls.py needs to be extended with an item path("myapp", include("mymodels.urls")).

Running the application

Finally run the following commands to initialize the database and start the development server.

    python manage.py makemigrations
    python manage.py migrate
    python manage.py createsuperuser
    python manage.py runserver

The application can now be accessed via http://127.0.0.1:8000.

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

basx-bread-0.4.76.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basx_bread-0.4.76-py3-none-any.whl (6.7 MB view details)

Uploaded Python 3

File details

Details for the file basx-bread-0.4.76.tar.gz.

File metadata

  • Download URL: basx-bread-0.4.76.tar.gz
  • Upload date:
  • Size: 5.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for basx-bread-0.4.76.tar.gz
Algorithm Hash digest
SHA256 41bd61cc5183d846b87eca12261396de7ee542b64ad9b4013da328117143dd25
MD5 54e34c0fd2c9ac6907aa4ad6c07d721b
BLAKE2b-256 8277a0483dbb6d4ad31c9bdc1b76fe7b77e7da1cf8937e985cca08c113e609f8

See more details on using hashes here.

File details

Details for the file basx_bread-0.4.76-py3-none-any.whl.

File metadata

  • Download URL: basx_bread-0.4.76-py3-none-any.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for basx_bread-0.4.76-py3-none-any.whl
Algorithm Hash digest
SHA256 639f3900876309a7867bfb0fb4052fefcc953b0de9e4ba8c22ebcad499b7e338
MD5 859f795c1853aa4ea39c25c909fdec74
BLAKE2b-256 5457640fd7be34d8ec756d99e81b66b7d42a49bd90f1fe812ebd5def146a18e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page