Skip to main content

A starter kit to quickly scaffold Django projects.

Project description

   ____ ___  __  __      ____/ / (_)___ _____  ____ _____        _____/ /_____ ______/ /____  _____
  / __ `__ \/ / / /_____/ __  / / / __ `/ __ \/ __ `/ __ \______/ ___/ __/ __ `/ ___/ __/ _ \/ ___/
 / / / / / / /_/ /_____/ /_/ / / / /_/ / / / / /_/ / /_/ /_____(__  ) /_/ /_/ / /  / /_/  __/ /    
/_/ /_/ /_/\__,_/      \__,_/_/ /\__,_/_/ /_/\__, /\____/     /____/\__/\__,_/_/   \__/\___/_/     
         /____/           /___/            /____/

🛠️ my-django-starter

A command-line utility for scaffolding and launching Django projects with a complete, modular, and automated setup pipeline.

💻 System Architecture : OOP Design

🎥 Live Demo

🚀 Overview

my-django-starter is a developer-friendly tool that automates the initial setup of Django projects. It handles everything from virtual environment creation to Django installation, project scaffolding, app setup, settings configuration, and server execution — all in one seamless command-line flow.

📦 Features

  • 📁 Creates a new Django project and apps
  • ⚙️ Sets up virtual environments automatically
  • 🧪 Detects your OS and adjusts commands accordingly
  • 📝 Configures settings, media files, environment variables
  • 📄 Generates requirements.txt
  • 📄 Manages environement variables
  • 🧙 Renders a stylish home page template
  • 👤 Creates a superuser for the admin dashboard
  • 🚀 Launches the development server instantly

🔧 How It Works

The tool works through a step-based pipeline system:

Each setup task is a separate module:

  • Banner() – Displays a welcome banner
  • OSDetector() – Detects the operating system
  • VirtualEnvCreator() – Creates a Python virtual environment
  • DjangoInstaller() – Installs Django via pip
  • ProjectCreator() – Scaffolds a new Django project
  • AppCreator() – Adds one or more Django apps
  • SettingsModifier() – Updates project settings
  • EnvManager() – Creates and populates a .env file
  • RequirementsGenerator() – Freezes dependencies
  • HomePageRenderer() – Adds a responsive landing page
  • MediaFileHandler() – Configures media/static paths
  • MigrationManager() – Applies database migrations
  • AdminSetup() – Creates an admin superuser
  • ServerRunner() – Launches the Django development server

⚙️ Installation & Usage

For Linux/macOS:

$ pip install my-django-starter==0.1.7  # replace with actual version
$ mydjango

For Windows:

$ pip install my-django-starter==0.1.7  # replace with actual version
# Add mydjango.exe to PATH environment variable
$ mydjango

It will:

  1. Creates a new virtual environment
  2. Install Django
  3. Scaffold your project and apps
  4. Configure everything (settings, env, admin)
  5. Creates a requirements.txt file
  6. Create a home page and render using home app
  7. Launch your Django server

Adding New App to Existing Django Project

For Linux/macOS:

$ source myenv/bin/activate  # Activate your virtual environment
$ cd /path/to/your-django-project
$ mydjango-add-generalapp

For Windows:

$ myenv\Scripts\activate  # Activate your virtual environment
$ cd C:\path\to\your-django-project
$ mydjango-add-generalapp

It will:

  1. Add new app to existing project
  2. Configure everything (settings,urls)
  3. Adds templates and static folder inside each newly created app

📜 License

MIT License

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

my_django_starter-0.2.0.tar.gz (48.7 kB view details)

Uploaded Source

Built Distribution

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

my_django_starter-0.2.0-py3-none-any.whl (79.3 kB view details)

Uploaded Python 3

File details

Details for the file my_django_starter-0.2.0.tar.gz.

File metadata

  • Download URL: my_django_starter-0.2.0.tar.gz
  • Upload date:
  • Size: 48.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for my_django_starter-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b3c8bfaccde810268c48a16266d37fd4de8592389a6fa118531103fb37149bbf
MD5 22065d3fe5f73a1c67b2de284e78c406
BLAKE2b-256 26e5853d94afbe7346d0e6777e1f84611da289f449ef1a970b15e78e21e1be29

See more details on using hashes here.

File details

Details for the file my_django_starter-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for my_django_starter-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f8f389742f330479683789a837072033409172a8ed32319c51a1821dcb93f9f
MD5 30de13c5c758855ff8f0ece9ab118fb3
BLAKE2b-256 cf7f759f449fc1da9453b600ba455005d9868b1195331f3441d0c22e1ea74cfd

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