graph LR
Template_Engine["Template Engine"]
Template_Loaders["Template Loaders"]
Parser_Lexer["Parser & Lexer"]
Template["Template"]
Node["Node"]
Context["Context"]
Unclassified["Unclassified"]
Template_Engine -- "Uses" --> Template_Loaders
Template_Engine -- "Invokes" --> Parser_Lexer
Parser_Lexer -- "Creates" --> Node
Template_Engine -- "Creates" --> Template
Template -- "Composed of" --> Node
Template -- "Uses" --> Context
Node -- "Renders with" --> Context
click Template_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/django/Template_Engine.md" "Details"
The Django template subsystem is a powerful engine for generating dynamic content. At its core, it works by parsing a template string and rendering it with a given context. The main entry point is the Engine, which is configured with a set of Template Loaders to find template files. When a template is requested, the Engine uses a Loader to retrieve the template string. This string is then passed to a Parser, which tokenizes the content and creates a tree of Node objects. This node tree is wrapped in a Template object. To render the template, the render method is called on the Template object, which in turn calls the render method on each Node in the tree, using a Context object to resolve variables.
Template Engine [Expand]
The central orchestrator of the template system. It manages configuration and is responsible for loading and rendering templates.
Related Classes/Methods:
Responsible for finding and loading template source code from various sources, such as the filesystem.
Related Classes/Methods:
This component is responsible for parsing the raw template string. It tokenizes the string and builds a node tree that represents the template's structure.
Related Classes/Methods:
Represents a compiled template. It holds the node tree created by the parser and has a render method to produce the final output.
Related Classes/Methods:
A node in the template's syntax tree. Each node represents a piece of the template, such as a variable, a tag, or a block of static text.
Related Classes/Methods:
A dictionary-like object that holds the data used to render the template. It provides the values for the variables in the template.
Related Classes/Methods:
Component for all unclassified files and utility functions (Utility functions/External Libraries/Dependencies)
Related Classes/Methods: None