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

Uploaded Python 3

File details

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

File metadata

  • Download URL: my_django_starter-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 a71ab1d3c6c38fecdddd0e7f9e617e1b3f8d6ca0bd943bc7554849fe05792f58
MD5 6e41f9b1326c96e985aef1acf9e3379c
BLAKE2b-256 85ea4ef227fe88888e6b3303cab93a1d41dc423ee6106aeb976f160ac3b93b81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for my_django_starter-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1ca7d064e64b389aca9717c7cddcaaac48417009383239e446fbd267e9f31ddb
MD5 99a054e43f406bf31fd69e9c1e82405e
BLAKE2b-256 9f3b5ad867fbeb5e9c630b863b3db322aaf78cdf7b9b4c9ade373db5943f7664

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