Skip to content
/ cli Public

`djazz-cli` provides some extention to the django management commands and provides a `dj` command line utility.

License

Notifications You must be signed in to change notification settings

djazzcc/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

djazz-cli

djazz-cli is a Django command-line tool that extends and enhances Django's built-in management commands. It provides a simpler, more intuitive interface through the dj command.

Features

  • Simplified project creation with template support
  • Enhanced app creation with better defaults
  • Shorter, more intuitive command syntax
  • Helpful next-step guidance after commands
  • Default templates with common configurations

Installation

Install using pip:

pip install djazz-cli

Usage

Creating a New Project

# Basic project creation (in current directory)
dj startproject myproject

# Create project with a specific template
dj startproject myproject -t custom_template
# or
dj startproject myproject --template custom_template

# Create project in a specific directory
dj startproject myproject -t custom_template -p /path/to/directory
# or
dj startproject myproject --template custom_template --path /path/to/directory

Creating a New App

# Basic app creation
dj startapp myapp

# Create app with a specific template
dj startapp myapp -t custom_template
# or
dj startapp myapp --template custom_template

# Create app in a specific directory
dj startapp myapp -t custom_template -p /path/to/directory
# or
dj startapp myapp --template custom_template --path /path/to/directory

Listing Available Templates

# List all templates
dj list-templates

# List only project templates
dj list-templates project

# List only app templates
dj list-templates app

Templates

Project Templates

  • default: Enhanced version of Django's default project template
  • wagtail: Wagtail CMS project template with pre-configured settings

App Templates

  • default: Extended app template with additional files (urls.py, etc.)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Development

Setting Up Development Environment

# Clone the repository
git clone https://github.com/djazzcc/cli.git
cd cli

# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Unix/macOS
# or
.\.venv\Scripts\activate  # On Windows

# Install development dependencies
uv pip install -e .

Local Testing

# Create a sandbox test environment
mkdir -p sandbox/test1
cd sandbox/test1

# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Unix/macOS
# or
.\.venv\Scripts\activate  # On Windows

# Install the package in editable mode (from project root)
cd ../..  # Go back to project root
uv pip install -e .

# Verify installation
uv pip list | grep djazz-cli

# Test the CLI
cd sandbox/test1
dj startproject myproject

Project Structure

cli/
├── djazz_cli/
│   ├── __init__.py
│   ├── main.py
│   └── templates/
│       ├── app_templates/
│       │   └── default/
│       └── project_templates/
│           └── default/
├── sandbox/          # For local testing (git ignored)
├── pyproject.toml
├── README.md
└── .gitignore

Building the Package

# Build both wheel and sdist
uv build

# The built packages will be in the dist/ directory
ls dist/

About

`djazz-cli` provides some extention to the django management commands and provides a `dj` command line utility.

Resources

License

Stars

Watchers

Forks

Packages

No packages published