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:
- Creates a new virtual environment
- Install Django
- Scaffold your project and apps
- Configure everything (settings, env, admin)
- Creates a requirements.txt file
- Create a home page and render using home app
- 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:
- Add new app to existing project
- Configure everything (settings,urls)
- Adds templates and static folder inside each newly created app
📜 License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3c8bfaccde810268c48a16266d37fd4de8592389a6fa118531103fb37149bbf
|
|
| MD5 |
22065d3fe5f73a1c67b2de284e78c406
|
|
| BLAKE2b-256 |
26e5853d94afbe7346d0e6777e1f84611da289f449ef1a970b15e78e21e1be29
|
File details
Details for the file my_django_starter-0.2.0-py3-none-any.whl.
File metadata
- Download URL: my_django_starter-0.2.0-py3-none-any.whl
- Upload date:
- Size: 79.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f8f389742f330479683789a837072033409172a8ed32319c51a1821dcb93f9f
|
|
| MD5 |
30de13c5c758855ff8f0ece9ab118fb3
|
|
| BLAKE2b-256 |
cf7f759f449fc1da9453b600ba455005d9868b1195331f3441d0c22e1ea74cfd
|