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.1.tar.gz (22.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.1-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django_kickstartx-1.1.1.tar.gz
  • Upload date:
  • Size: 22.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.1.tar.gz
Algorithm Hash digest
SHA256 6fe7b98ac97c6f9f66a69bea28776c83bc1241d95722a73aba6ad9786491e41d
MD5 904f1908bb9f9b484ef61789eeacb7fe
BLAKE2b-256 2990d5c4003b4c0492a08e555a88ee47f2a2daed4a0a12f8fb32905c3284d591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_kickstartx-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5eda84a397e4eaa2ea4bfbb38a72a394d04f58a24bef517efdb9f4108b591be6
MD5 efe449ef13c99612dc1a3f675776da49
BLAKE2b-256 cfb2bb9f7423abbcbd4e17fcef22f9bbd759a9cbf806b385fed96170b20837c7

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