Skip to main content

Scaffold production-ready Django projects in seconds โ€” MVP or REST API, CBV or FBV.

Project description

๐Ÿš€ Django Kickstart

Scaffold production-ready Django projects in seconds.

Skip the boilerplate. Start building.

PyPI version License: MIT Python 3.8+


โœจ 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 --docker flag generates a production-ready Dockerfile, docker-compose.yml, and entrypoint.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: Item model 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-venv to 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 web container 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_KEY loaded from .env
  • DEBUG and ALLOWED_HOSTS from 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-headers configured
  • django-filter included in requirements
  • DRF browsable API at /api/

๐Ÿ“„ License

MIT ยฉ 2026


๐Ÿค Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit: git commit -m 'Add my feature'
  4. Push: git push origin feature/my-feature
  5. Open a Pull Request

๐ŸŒŸ Star this project

If Django Kickstart saved you time, give it a โญ on GitHub!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_kickstartx-1.1.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

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

django_kickstartx-1.1.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file django_kickstartx-1.1.0.tar.gz.

File metadata

  • Download URL: django_kickstartx-1.1.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.5

File hashes

Hashes for django_kickstartx-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5d422baf3e7cebeba348872e3207258fa62098c028abbbb4c9949be5ada296d2
MD5 aaea0bb258cea0ea97d53d054beab3d3
BLAKE2b-256 ef8fd766cb9d9ffe03353da67acef924f4901f21648eae3997d3047317546eaf

See more details on using hashes here.

File details

Details for the file django_kickstartx-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_kickstartx-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6743b4c94d4cf2e6c6eaf357949ba9e24d0c4db8aa2a385b9bf8f9c3b9b5ad65
MD5 0f002bb316c431d80d78bf7e2deeebed
BLAKE2b-256 2aa47f94201d8e26a37d3e2f665ff19f3212b1dba50e57da59306b5e800e1810

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