python__django_tutorials/README.md

2.6 KiB

Django Tutorials - Modern Stack (2026 Edition)

This project has been modernized to run on Django 6.0 with a React 18.x frontend powered by Vite.

Tech Stack

  • Backend: Django 6.x (LTS), Python 3.14+, Django Ninja (API), uv (Package Manager), Pydantic Settings, Ruff.
  • Frontend: React 18.x, Vite (Build Tool), TanStack Query (Data Fetching), DaisyUI (CSS), ESLint + Prettier.
  • Automation: Unified Makefile for one-command development.

🚀 Getting Started (New Developers)

Follow these steps to set up your local development environment:

1. Prerequisite: Install uv

This project uses uv for lightning-fast Python dependency management. On macOS, use:

brew install uv

On Linux, follow the instructions for your distribution's package manager.

2. Configure Environment

The project uses a strict configuration schema. You must create a local .env file in the project root or the server will refuse to start:

cp .env.example .env

To generate a secure secret key for your .env file, run:

make secret-key

Note: The .env file is ignored by git to keep your local secrets safe.

3. Install Dependencies

Install both Python (via uv) and Node.js (via npm) packages:

make install

4. Initialize Database

Create your local SQLite database and run the initial migrations:

make migrate

5. Start Development Servers

Run both the Django backend (port 8000) and Vite frontend (port 3000) in parallel:

make run

🛠 Available Commands

To see the most up-to-date list of commands, simply run make help.

Command Description
make build Build the React frontend for production.
make clean Remove build artifacts, node_modules, and cache.
make install Install all backend and frontend dependencies.
make lint Run all formatters and code quality checks.
make migrate Run Django database migrations.
make run Start both dev servers in parallel.
make secret-key Generate a random Django secret key.
make settings Show differences between current and default settings.
make test Run all backend (Django) and frontend (Vitest) tests.

📡 API Documentation

When the server is running, you can access the automatic Swagger UI for the Django Ninja API at: 👉 http://127.0.0.1:8000/api/docs