The fast, modern Django project generator. Zero config, sensible defaults.
Project description
⚡ djforge
The fast, modern Django project generator. Zero config. Sensible defaults.
pipx run djforge new myapp
Why djforge?
cookiecutter-django is powerful but heavy — it takes minutes to fill out, generates files you'll never use, and requires installing cookiecutter first.
djforge takes 30 seconds.
djforge new myapp # interactive TUI
djforge new myapp --yes # zero prompts, full defaults
djforge new myapp --preset api # pure REST API stack
djforge new myapp --preset minimal # SQLite, no Docker
Install
# Recommended (no venv needed, globally available)
pipx install djforge
# Or plain pip
pip install djforge
Usage
Interactive mode (default)
$ djforge new myshop
⚡ djforge — fast Django project generator
Project name: myshop
Short description: A Django project.
Database: ▸ PostgreSQL SQLite
Cache: ▸ Redis LocMem None
Auth: ▸ Session JWT Both
Frontend: ▸ None HTMX HTMX+Tailwind React
Include: [✓] Celery [✓] Docker [✓] DRF [✓] Sentry ...
✅ myshop created!
cd myshop
make install && make migrate && make dev
Non-interactive
# Accept all defaults
djforge new myapp --yes
# Use a preset
djforge new myapp --preset api
djforge new myapp --preset fullstack
djforge new myapp --preset minimal
# Custom output directory
djforge new myapp --output ~/projects
# With virtualenv creation
djforge new myapp --yes --venv
# Skip git init
djforge new myapp --yes --no-git
List presets
djforge list-presets
| Preset | Database | Cache | Auth | Celery | Docker |
|---|---|---|---|---|---|
| minimal | SQLite | locmem | session | — | — |
| api | PostgreSQL | Redis | JWT | ✓ | ✓ |
| fullstack | PostgreSQL | Redis | session | ✓ | ✓ |
What you get
myapp/
├── manage.py
├── Makefile ← make dev / test / migrate / lint
├── Dockerfile ← multi-stage, non-root
├── docker-compose.yml ← web + postgres + redis + celery
├── .env / .env.example
├── pyproject.toml ← black + ruff + pytest config
├── requirements/
│ ├── base.txt
│ ├── development.txt
│ └── production.txt
└── myapp/
├── settings/
│ ├── base.py ← django-environ, DRF, Celery, cache
│ ├── development.py ← debug toolbar, console email
│ ├── production.py ← HTTPS headers, Sentry
│ └── test.py ← in-memory SQLite, fast hashers
├── celery.py
├── urls.py ← admin + API v1 + Swagger
└── apps/
├── core/ ← /api/v1/health/
└── users/ ← custom User (email login) + /api/v1/users/me/
Included by default
| Feature | Details |
|---|---|
| Custom User model | Email-based login, set before first migration |
| Split settings | base / development / production / test |
| Security headers | HSTS, secure cookies, SSL redirect (production) |
| DRF | Django REST Framework + django-filter |
| OpenAPI | drf-spectacular → /api/docs/ Swagger UI |
| Celery | Async tasks + beat scheduler via Redis |
| Whitenoise | Static files without nginx |
| Sentry | Auto-init from SENTRY_DSN env var |
| Docker | Multi-stage build, non-root user |
| pytest | --reuse-db, coverage, factory-boy |
| Makefile | make dev, make test, make lint, make format |
Stack comparison
| djforge | cookiecutter-django | |
|---|---|---|
| Time to first project | ~10s | 3–5 min |
| Config required | Zero (--yes) |
Long questionnaire |
| Install required | pipx run djforge |
pip install cookiecutter + clone |
| Jinja templates | Yes | Yes |
| Interactive TUI | Yes (questionary) | Text prompts |
| Presets | Yes | No |
| Django version | 5.x | 4.x + 5.x |
| Python version | 3.11+ | 3.10+ |
Development
git clone https://github.com/siyadhkc/djforge
cd djforge
pip install -e ".[dev]"
pytest
Project structure
djforge/
├── djforge/
│ ├── cli.py ← typer CLI entry point
│ ├── config.py ← ProjectConfig dataclass + presets
│ ├── renderer.py ← Jinja2 template engine + file map
│ └── tui/
│ └── prompts.py ← questionary interactive prompts
└── tests/
└── test_core.py
Contributing
PRs welcome! Please open an issue first for large changes.
- Fork the repo
- Create a feature branch
- Add tests
pytest && ruff check .- Open a PR
License
MIT © djforge contributors
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file djforge-0.1.0.tar.gz.
File metadata
- Download URL: djforge-0.1.0.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.12.10 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c063344c6130b7f855d2a9264373ceb709216835a454b676e59ee8b2d61a0ff
|
|
| MD5 |
c7ceaa21ea8f631d62d59789a16a5141
|
|
| BLAKE2b-256 |
5f15ed6df851601888bf88cbc7d71b277186239015efa5d2aabd925bcf8857f2
|
File details
Details for the file djforge-0.1.0-py3-none-any.whl.
File metadata
- Download URL: djforge-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.12.10 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b8ab17735746cda6900df35d0c093203bd9bf33a64218227359ce49084e8ebf
|
|
| MD5 |
0a20077aa8741814cae3139d86030246
|
|
| BLAKE2b-256 |
fad3f312da31f6fcb61249eb7800f14e7625fc0b64202a60c4ec76136e8ba408
|