
Documentation
Documentation is hosted at readthedocs.io
BasxBread Engine
This package provides functionality to create Django-based database
applications in a quick and customizable way. Similar concepts are CRUD
(create-read-update-delete) frameworks or RAD (rapid application development)
tools.
BasxBread relies in many regards on the Django web framework. Familiarity with
Django is highly recommended and assumed for readers of the documentation.
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
pip install basx-bread
django-admin startproject --template $( pip show basx-bread | grep '^Location: ' | cut -c 11- )/basxbread/resources/project_template/ myproject .
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 basxbread.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.
Notes on maintenance
Most of the code that is being written for BasxBread is developed while doing
payed work. That way the development and maintenance of the framework can be
done in a sustainable manner.
Future plans
BasxBread is currently running on a range of custom database applications that
are used in production. Most parts of the framework are now on a level that we
consider production ready. However, there are some additions and improvments
that we still would like to work on. Those are listed here.
Refactorings:
(Maybe move this stuff into Github issues)
New features