Django Templates

  • Server-rendered HTML using Django's template engine
  • Templates are organized both globally and per app

Structure

  • Global templates directory: idk/templates/
  • Base templates and shared pages (error pages, account, emails, etc.)
  • idk/templates/base.html extends the redesigned base
  • Redesigned UI under idk/templates/redesign/ organized by domain (e.g., core/, companies/, services/, time-management/, team-members/, notes/, expenses/)
  • Per‑app templates: each app may include its own templates/ folder (e.g., idk/reports/templates/), typically used for app‑specific pages or includes

Base templates and inheritance

  • The primary layout comes from redesign/base.html
  • Many pages extend this base via {% extends "redesign/base.html" %} to get shared head, navigation, and layout blocks
  • idk/templates/base.html simply delegates to redesign/base.html to keep compatibility with legacy {% extends 'base.html' %} usages

Typical page composition: - Extend the base template - Fill content blocks (e.g., title, main content, scripts) - Include partials for reusable components (lists, forms, tables)

Context and helpers

  • Global context processors in settings add common variables (logo, extra settings, user projects, ClickUp projects)
  • Use Django template tags and filters (including humanize, mathfilters, custom app tags) for formatting
  • For real‑time widgets, templates include bundles built by Webpack ({% render_bundle %}) that mount Vue components