Django

Django Project Setup

Create taskboard project and configure settings

Django Project Setup — TaskBoard

Create the TaskBoard project and wire baseline configuration.

Create project

django-admin startproject config .
python manage.py migrate
python manage.py runserver

Using config as the settings package (common in production repos) keeps the repo root clean:

taskboard/
  manage.py
  config/
    settings.py
    urls.py
    wsgi.py
  requirements.txt

Environment variables

# config/settings.py (excerpt)
import environ
env = environ.Env(DEBUG=(bool, False))
environ.Env.read_env(BASE_DIR / ".env")

SECRET_KEY = env("SECRET_KEY")
DEBUG = env.bool("DEBUG", default=True)
ALLOWED_HOSTS = env.list("ALLOWED_HOSTS", default=["127.0.0.1", "localhost"])
# .env (never commit real secrets to Git)
SECRET_KEY=dev-only-change-in-production
DEBUG=True

First run

python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

Visit http://127.0.0.1:8000/ and /admin/.

Real teams: Never deploy with DEBUG=True or a committed SECRET_KEY. Use separate settings modules for dev/staging/prod (covered in Production Settings).