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.htmlextends 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.htmlsimply delegates toredesign/base.htmlto 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