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.8.tar.gz (48.3 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.8-py3-none-any.whl (78.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: my_django_starter-0.1.8.tar.gz
  • Upload date:
  • Size: 48.3 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.8.tar.gz
Algorithm Hash digest
SHA256 95b5c7e7a2d2f62fb3f0b10300287cbe421e5c1e5d5024f0d74827f8900a9ced
MD5 716fe7b9b0df3fe9eef350a94f56c6b2
BLAKE2b-256 640849d3ea40fe021d90c1577d802000a27fb56a6c8eaff930fb0c54c01eb40d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for my_django_starter-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 2d947503dd8b496ef166c87950cd4043ecf9050e265c64001b27830f37ca7aed
MD5 7b72b3a41df697fd030efc97e43d0fbf
BLAKE2b-256 8b82bcacc77ab4429460520f190708c9882a82719a12eda736df3a269564fdf2

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