Django utilities for codegen and DX improvement
Project description
Django hogwarts 🧙♂️
Management commands to generate views, urls and templates
Use CLI commands to generate:
- basic create, update, list, detail views
- urlpatterns from views with REST like path urls
- form, table, detail templates (Bootstrap and django-crispy-forms by default)
all commands will respect (will not change) existing code
Installation
# pip
pip install django-hogwarts
# poetry
poetry add --dev django-hogwarts
add hogwarts
to your INSTALLED_APPS
:
INSTALLED_APPS = [
...
"hogwarts"
]
Usage
Check this to know what urls will be generated
Generate urls.py
Generates paths for views from views.py
python manage.py genurls <your-app-name>
Arguments:
--force-app-name
,fan
override app_name variable in urls.py--override
,-o
fully overrides existing code in urls.py (previous code will be deleted)--single-import
,-s
instead of importing individual view, imports just modulefrom . import views
Generate views.py
Generates create, update, detail, list views for model. Checkout the demo
python manage.py genviews <your-app-name> <model-name>
Arguments
smart-mode
,-s
adds login required, sets user for CreateView and checks if client is owner of object in UpdateViewmodel-is-namespace
,-mn
adds success_url with name model as namespace
Generate templates
Generates templates from template_name
s from views from given app
django-crispy-forms and crispy-bootstrap5 packages are required
python manage.py gentemplates <your-app-name>
Want to create own scaffolding templates?
- create folder, copy and customize from this templates
- add that folder to setting
HOGWARTS_SCAFFOLD_FOLDER = "<your-folder>"
Scaffolding
Generates views, urls and templates for given app (every model in app)
python manage.py scaffold <your-app-name>
Roadmap
- tests generator
- maybe rest-framework support (let me know in issues)
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
django-hogwarts-0.7.0.tar.gz
(17.7 kB
view hashes)
Built Distribution
Close
Hashes for django_hogwarts-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ce8e464306f9b2e0dbc3c7114b47b44b76aeda1659658ccded65f839ea50b28 |
|
MD5 | 71a8ee5054bb2b3ce63f35a9b1a5f8bb |
|
BLAKE2b-256 | 93b747b713b7c9c63e4242020befae67d5ccaaa153fb94620db5d1c81f26f744 |