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.1.9.tar.gz (48.6 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.1.9-py3-none-any.whl (79.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: my_django_starter-0.1.9.tar.gz
  • Upload date:
  • Size: 48.6 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.1.9.tar.gz
Algorithm Hash digest
SHA256 4cc1e60b0c4ffea41769d8893cb00c9ee2ab24ffe95c6e31c3ec5f46627771a3
MD5 f86d9a75e19b69ec352bd958a5a94ffc
BLAKE2b-256 5f0b9fbf3ce059c44034284abe368b7967090ac64326d880185dc7b557f98109

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for my_django_starter-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3cefc79055c67ba30d6cab95296aab56f1f2a5805d9de08a239a3ecea713246a
MD5 d9b17a02d5cf496ee1123968287916e7
BLAKE2b-256 0f0b528cf77e20352121b66aad2e01b23da5fa6b42ae468f533252d71755fde1

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