🚀 Django Kickstart
Scaffold production-ready Django projects in seconds.
Skip the boilerplate. Start building.
✨ Features
- Two project types: MVP (traditional Django with templates) or API (Django REST Framework)
- View style choice: Function-Based Views (FBV) or Class-Based Views (CBV)
- Database options: SQLite (dev) or PostgreSQL (production)
- Docker support: Optional
--dockerflag generates a production-readyDockerfile,docker-compose.yml, andentrypoint.sh - Auto virtual environment: Creates a venv and installs dependencies automatically
- Production-ready settings: Security hardened, environment variables via
python-decouple - Admin panel: Enabled and configured out of the box
- URL routing: Fully wired with app URLs included
- Example model:
Itemmodel with admin registration, tests, and views - Beautiful starter templates: Modern CSS with responsive layout (MVP only)
- DRF browsable API: Auto-configured with pagination and permissions (API only)
📦 Installation
pip install django-kickstartx
🚀 Quick Start
Interactive mode (guided prompts)
django-kickstart create myproject
Flag mode (one-liner)
# MVP with function-based views + SQLite
django-kickstart create myproject --type mvp --views fbv --db sqlite
# REST API with class-based views + PostgreSQL
django-kickstart create myproject --type api --views cbv --db postgresql
# Any project with Docker support
django-kickstart create myproject --type api --views fbv --db postgresql --docker
After creating your project
A virtual environment is created automatically with all dependencies installed.
cd myproject
# Activate the virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
cp .env.example .env
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Tip: Use
--no-venvto skip automatic virtual environment creation.
With Docker
If you used --docker, skip the venv entirely and use Compose:
cd myproject
cp .env.example .env
docker-compose up --build
Once the containers are running:
docker-compose exec web python manage.py createsuperuser
Note: For PostgreSQL projects, the
webcontainer waits for the database to pass its health check before running migrations automatically.
🔧 Options
| Flag | Choices | Default | Description |
|---|---|---|---|
--type |
mvp, api |
interactive | MVP (templates) or API (DRF) |
--views |
fbv, cbv |
interactive | Function or class-based views |
--db |
sqlite, postgresql |
interactive | Database backend |
--no-venv |
— | false |
Skip automatic virtual environment creation |
--docker |
— | false |
Add Docker configuration (Dockerfile, docker-compose.yml, .dockerignore, and entrypoint.sh for PostgreSQL) |
📁 Generated Structure
MVP Project
myproject/
├── venv/ # Auto-created virtual environment
├── manage.py
├── requirements.txt
├── .env.example
├── .gitignore
├── myproject/
│ ├── settings.py # Security, DB, static/media config
│ ├── urls.py # Admin + core app wired
│ ├── wsgi.py
│ └── asgi.py
├── core/
│ ├── admin.py # Item model registered
│ ├── models.py # Example Item model
│ ├── views.py # FBV or CBV
│ ├── urls.py
│ ├── forms.py # ModelForm
│ ├── tests.py
│ └── templates/core/
│ ├── base.html
│ ├── home.html
│ └── about.html
└── static/css/style.css
API (DRF) Project
myproject/
├── venv/ # Auto-created virtual environment
├── manage.py
├── requirements.txt
├── .env.example
├── .gitignore
├── myproject/
│ ├── settings.py # DRF + CORS config included
│ ├── urls.py # Admin + /api/ router
│ ├── wsgi.py
│ └── asgi.py
└── core/
├── admin.py
├── models.py
├── serializers.py # DRF ModelSerializer
├── views.py # @api_view or ModelViewSet
├── urls.py # DRF Router or explicit paths
└── tests.py
With --docker (additional files)
myproject/
├── Dockerfile # python:3.12-slim-bookworm, no-cache pip install
├── docker-compose.yml # web service (+ db service for PostgreSQL)
├── .dockerignore
└── entrypoint.sh # PostgreSQL only — waits for DB, then migrates
🤔 What's Included?
Settings Highlights
SECRET_KEYloaded from.envDEBUGandALLOWED_HOSTSfrom environment- Pre-configured password validators
- Static & media file configuration
- Production security settings (commented, ready to uncomment)
- Login/logout redirect URLs
MVP Extras
- Django HTML templates with
{% block %}structure - Clean starter CSS with responsive grid
- ModelForm with widget customization
API Extras
- Django REST Framework with pagination
django-cors-headersconfigureddjango-filterincluded in requirements- DRF browsable API at
/api/
📄 License
MIT © 2026
🤝 Contributing
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature - Commit:
git commit -m 'Add my feature' - Push:
git push origin feature/my-feature - Open a Pull Request
🌟 Star this project
If Django Kickstart saved you time, give it a ⭐ on GitHub!
Metadata
Release files for django-kickstartx 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_kickstartx-1.1.3.tar.gz | 23.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_kickstartx-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.5 kB
Release files / django_kickstartx-1.1.3.tar.gz
| Download URL | django_kickstartx-1.1.3.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dff6f438293d1a1eeb87e3780f5a8758e9b0695e5b04d0e326a560f17bb15d04
|
|
BLAKE2b-256 checksum How to use checksums |
2b87f47a581a7033fe6e01e2569151c352e2590d53c62f692916bda6b26f6235
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.5
|
Release files / django_kickstartx-1.1.3-py3-none-any.whl
| Download URL | django_kickstartx-1.1.3-py3-none-any.whl |
|---|---|
| Size | 30.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78d646935713bc707006eca8b2be32936a5c3155254cf6c05973fe8b397b15b3
|
|
BLAKE2b-256 checksum How to use checksums |
ab58b4d674d8c4c85ec13eb649c5de126eb0e4fd8844130f54dcf8588f4aa1ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.5
|