Deployed 55b1c8bc to dev with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
github-actions 2025-05-26 10:00:37 +00:00
parent 4b9b2634b9
commit 71a8f82de1
9 changed files with 239 additions and 221 deletions

File diff suppressed because one or more lines are too long

View file

@ -1275,7 +1275,7 @@
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Remove Component class from the extension&#39;s cache on deletion</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=bp>self</span><span class=o>.</span><span class=n>cache</span><span class=o>.</span><span class=n>pop</span><span class=p>(</span><span class=n>ctx</span><span class=o>.</span><span class=n>component_cls</span><span class=p>,</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.ComponentExtension.on_component_data class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">on_component_data</span> <a href=#django_components.ComponentExtension.on_component_data class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_data</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" OnComponentDataContext (django_components.extension.OnComponentDataContext)" href=../extension_hooks/#django_components.extension.OnComponentDataContext>OnComponentDataContext</a></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L504 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was triggered to render, after a component's context and data methods have been processed.</p> <p>This hook is called after <a href=../api#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>Component.get_js_data()</code></a> and <a href=../api#django_components.Component.get_css_data><code>Component.get_css_data()</code></a>.</p> <p>This hook runs after <a href=../api#django_components.ComponentExtension.on_component_input><code>on_component_input</code></a>.</p> <p>Use this hook to modify or validate the component's data before rendering.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentDataContext</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L517 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was triggered to render, after a component's context and data methods have been processed.</p> <p>This hook is called after <a href=../api#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>Component.get_js_data()</code></a> and <a href=../api#django_components.Component.get_css_data><code>Component.get_css_data()</code></a>.</p> <p>This hook runs after <a href=../api#django_components.ComponentExtension.on_component_input><code>on_component_input</code></a>.</p> <p>Use this hook to modify or validate the component's data before rendering.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentDataContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentDataContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
@ -1288,14 +1288,14 @@
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_input</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentInputContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Add extra kwarg to all components when they are rendered</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>ctx</span><span class=o>.</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;my_input&quot;</span><span class=p>]</span> <span class=o>=</span> <span class=s2>&quot;my_value&quot;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.ComponentExtension.on_component_registered class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">on_component_registered</span> <a href=#django_components.ComponentExtension.on_component_registered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_registered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" OnComponentRegisteredContext (django_components.extension.OnComponentRegisteredContext)" href=../extension_hooks/#django_components.extension.OnComponentRegisteredContext>OnComponentRegisteredContext</a></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span>
</code></pre></div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>In this hook, the components' inputs are still mutable.</p> <p>As such, if a component defines <a href=../api#django_components.Component.Args><code>Args</code></a>, <a href=../api#django_components.Component.Kwargs><code>Kwargs</code></a>, <a href=../api#django_components.Component.Slots><code>Slots</code></a> types, these types are NOT yet instantiated.</p> <p>Instead, component fields like <a href=../api#django_components.Component.args><code>Component.args</code></a>, <a href=../api#django_components.Component.kwargs><code>Component.kwargs</code></a>, <a href=../api#django_components.Component.slots><code>Component.slots</code></a> are plain <code>list</code> / <code>dict</code> objects.</p> </div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.ComponentExtension.on_component_registered class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">on_component_registered</span> <a href=#django_components.ComponentExtension.on_component_registered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_registered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" OnComponentRegisteredContext (django_components.extension.OnComponentRegisteredContext)" href=../extension_hooks/#django_components.extension.OnComponentRegisteredContext>OnComponentRegisteredContext</a></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L426 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> class is registered with a <a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a>.</p> <p>This hook is called after a <a href=../api#django_components.Component><code>Component</code></a> class is successfully registered.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentRegisteredContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_registered</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentRegisteredContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>&quot;Component </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>component_cls</span><span class=si>}</span><span class=s2> registered to </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>registry</span><span class=si>}</span><span class=s2> as &#39;</span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>name</span><span class=si>}</span><span class=s2>&#39;&quot;</span><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.ComponentExtension.on_component_rendered class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">on_component_rendered</span> <a href=#django_components.ComponentExtension.on_component_rendered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_rendered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><span title=django_components.extension.OnComponentRenderedContext>OnComponentRenderedContext</span></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L531 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was rendered, including all its child components.</p> <p>Use this hook to access or post-process the component's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentRenderedContext</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L544 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was rendered, including all its child components.</p> <p>Use this hook to access or post-process the component's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentRenderedContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_rendered</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentRenderedContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>Optional</span><span class=p>[</span><span class=nb>str</span><span class=p>]:</span>
@ -1322,7 +1322,7 @@
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Remove registry from the extension&#39;s cache on deletion</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=bp>self</span><span class=o>.</span><span class=n>cache</span><span class=o>.</span><span class=n>pop</span><span class=p>(</span><span class=n>ctx</span><span class=o>.</span><span class=n>registry</span><span class=p>,</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.ComponentExtension.on_slot_rendered class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">on_slot_rendered</span> <a href=#django_components.ComponentExtension.on_slot_rendered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_slot_rendered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><span title=django_components.extension.OnSlotRenderedContext>OnSlotRenderedContext</span></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L557 target=_blank>See source code</a></p> <p>Called when a <a href=../template_tags#slot><code>{% slot %}</code></a> tag was rendered.</p> <p>Use this hook to access or post-process the slot's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnSlotRenderedContext</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L570 target=_blank>See source code</a></p> <p>Called when a <a href=../template_tags#slot><code>{% slot %}</code></a> tag was rendered.</p> <p>Use this hook to access or post-process the slot's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnSlotRenderedContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_slot_rendered</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnSlotRenderedContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>Optional</span><span class=p>[</span><span class=nb>str</span><span class=p>]:</span>
@ -2203,7 +2203,7 @@
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=n>slot_name</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>nodelist</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><span title=django.template.base.NodeList>NodeList</span></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=p>)</span>
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>typing.Generic</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L163 target=_blank>See source code</a></p> <p>This class is the main way for defining and handling slots.</p> <p>It holds the slot content function along with related metadata.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-class>Slot class</a>.</p> <p><strong>Example:</strong></p> <p>Passing slots to components:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Slot</span>
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>typing.Generic</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L179 target=_blank>See source code</a></p> <p>This class is the main way for defining and handling slots.</p> <p>It holds the slot content function along with related metadata.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-class>Slot class</a>.</p> <p><strong>Example:</strong></p> <p>Passing slots to components:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Slot</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=n>slot</span> <span class=o>=</span> <span class=n>Slot</span><span class=p>(</span><span class=k>lambda</span> <span class=n>ctx</span><span class=p>:</span> <span class=sa>f</span><span class=s2>&quot;Hello, </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>data</span><span class=p>[</span><span class=s1>&#39;name&#39;</span><span class=p>]</span><span class=si>}</span><span class=s2>!&quot;</span><span class=p>)</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
@ -2259,21 +2259,21 @@
class-attribute
instance-attribute
(django_components.Slot.slot_name)" href=#django_components.Slot.slot_name>slot_name</a></code></b> (<code><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a>[<a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a>]</code>) <div class=doc-md-description> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.component_name class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">component_name</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.component_name class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>component_name</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L234 target=_blank>See source code</a></p> <p>Name of the component that originally received this slot fill.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.content_func class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">content_func</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.content_func class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>content_func</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotFunc (django_components.slots.SlotFunc)" href=#django_components.SlotFunc>SlotFunc</a></span><span class=p>[</span><span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>]</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-external" title=typing.cast href=https://docs.python.org/3.12/library/typing.html#typing.cast>cast</a></span><span class=p>(</span><span class=n><a class="autorefs autorefs-internal" title=" SlotFunc (django_components.slots.SlotFunc)" href=#django_components.SlotFunc>SlotFunc</a></span><span class=p>[</span><span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>],</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L224 target=_blank>See source code</a></p> <p>The actual slot function.</p> <p>Do NOT call this function directly, instead call the <code>Slot</code> instance as a function.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#rendering-slots>Rendering slot functions</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.contents class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">contents</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.contents class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>contents</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Any href=https://docs.python.org/3.12/library/typing.html#typing.Any>Any</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L211 target=_blank>See source code</a></p> <p>The original value that was passed to the <code>Slot</code> constructor.</p> <ul> <li>If Slot was created from <a href=../template_tags#fill><code>{% fill %}</code></a> tag, <code>Slot.contents</code> will contain the body (string) of that <code>{% fill %}</code> tag.</li> <li>If Slot was created from string as <code>Slot("...")</code>, <code>Slot.contents</code> will contain that string.</li> <li>If Slot was created from a function, <code>Slot.contents</code> will contain that function.</li> <li>If Slot was created from another <code>Slot</code> as <code>Slot(slot)</code>, <code>Slot.contents</code> will contain the inner slot's <code>Slot.contents</code>.</li> </ul> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-contents>Slot contents</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.do_not_call_in_templates class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">do_not_call_in_templates</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-property"><code>property</code></small> </span> <a href=#django_components.Slot.do_not_call_in_templates class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>do_not_call_in_templates</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/functions.html#bool>bool</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L280 target=_blank>See source code</a></p> <p>Django special property to prevent calling the instance as a function inside Django templates.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.nodelist class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">nodelist</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.nodelist class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>nodelist</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><span title=django.template.base.NodeList>NodeList</span></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L238 target=_blank>See source code</a></p> <p>If the slot was defined with <a href=../template_tags#fill><code>{% fill %}</code></a> tag, this will be the Nodelist of the fill's content.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.slot_name class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">slot_name</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.slot_name class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>slot_name</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L236 target=_blank>See source code</a></p> <p>Slot name to which this Slot was initially assigned.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h2 id=django_components.SlotContent class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SlotContent</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href=#django_components.SlotContent class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>SlotContent</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotInput
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L248 target=_blank>See source code</a></p> <p>Name of the component that originally received this slot fill.</p> <p>See <a href=../../concepts/fundamentals/slots#slot-metadata>Slot metadata</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.content_func class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">content_func</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.content_func class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>content_func</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotFunc (django_components.slots.SlotFunc)" href=#django_components.SlotFunc>SlotFunc</a></span><span class=p>[</span><span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>]</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-external" title=typing.cast href=https://docs.python.org/3.12/library/typing.html#typing.cast>cast</a></span><span class=p>(</span><span class=n><a class="autorefs autorefs-internal" title=" SlotFunc (django_components.slots.SlotFunc)" href=#django_components.SlotFunc>SlotFunc</a></span><span class=p>[</span><span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>],</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L238 target=_blank>See source code</a></p> <p>The actual slot function.</p> <p>Do NOT call this function directly, instead call the <code>Slot</code> instance as a function.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#rendering-slots>Rendering slot functions</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.contents class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">contents</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.contents class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>contents</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Any href=https://docs.python.org/3.12/library/typing.html#typing.Any>Any</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L227 target=_blank>See source code</a></p> <p>The original value that was passed to the <code>Slot</code> constructor.</p> <ul> <li>If Slot was created from <a href=../template_tags#fill><code>{% fill %}</code></a> tag, <code>Slot.contents</code> will contain the body (string) of that <code>{% fill %}</code> tag.</li> <li>If Slot was created from string as <code>Slot("...")</code>, <code>Slot.contents</code> will contain that string.</li> <li>If Slot was created from a function, <code>Slot.contents</code> will contain that function.</li> </ul> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-contents>Slot contents</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.do_not_call_in_templates class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">do_not_call_in_templates</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-property"><code>property</code></small> </span> <a href=#django_components.Slot.do_not_call_in_templates class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>do_not_call_in_templates</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/functions.html#bool>bool</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L296 target=_blank>See source code</a></p> <p>Django special property to prevent calling the instance as a function inside Django templates.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.nodelist class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">nodelist</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.nodelist class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>nodelist</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><span title=django.template.base.NodeList>NodeList</span></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L260 target=_blank>See source code</a></p> <p>If the slot was defined with <a href=../template_tags#fill><code>{% fill %}</code></a> tag, this will be the Nodelist of the fill's content.</p> <p>See <a href=../../concepts/fundamentals/slots#slot-metadata>Slot metadata</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Slot.slot_name class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">slot_name</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.Slot.slot_name class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>slot_name</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L254 target=_blank>See source code</a></p> <p>Slot name to which this Slot was initially assigned.</p> <p>See <a href=../../concepts/fundamentals/slots#slot-metadata>Slot metadata</a>.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h2 id=django_components.SlotContent class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SlotContent</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href=#django_components.SlotContent class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>SlotContent</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotInput
module-attribute
(django_components.slots.SlotInput)" href=#django_components.SlotInput>SlotInput</a></span><span class=p>[</span><span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L365 target=_blank>See source code</a></p> <p>DEPRECATED: Use <a href=../api#django_components.SlotInput><code>SlotInput</code></a> instead. Will be removed in v1.</p> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.SlotContext class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SlotContext</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-dataclass"><code>dataclass</code></small> </span> <a href=#django_components.SlotContext class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>SlotContext</span><span class=p>(</span><span class=n>data</span><span class=p>:</span> <span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>,</span> <span class=n>fallback</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=typing.Union href=https://docs.python.org/3.12/library/typing.html#typing.Union>Union</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotFallback (django_components.slots.SlotFallback)" href=#django_components.SlotFallback>SlotFallback</a></span><span class=p>]]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=django.template.Context href=https://docs.djangoproject.com/en/5.2/_objects/ref/templates/api/#django.template.Context>Context</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>typing.Generic</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L58 target=_blank>See source code</a></p> <p>Metadata available inside slot functions.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-class>Slot functions</a>.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>SlotContext</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L381 target=_blank>See source code</a></p> <p>DEPRECATED: Use <a href=../api#django_components.SlotInput><code>SlotInput</code></a> instead. Will be removed in v1.</p> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.SlotContext class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SlotContext</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-dataclass"><code>dataclass</code></small> </span> <a href=#django_components.SlotContext class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>SlotContext</span><span class=p>(</span><span class=n>data</span><span class=p>:</span> <span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>,</span> <span class=n>fallback</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=typing.Union href=https://docs.python.org/3.12/library/typing.html#typing.Union>Union</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotFallback (django_components.slots.SlotFallback)" href=#django_components.SlotFallback>SlotFallback</a></span><span class=p>]]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=django.template.Context href=https://docs.djangoproject.com/en/5.2/_objects/ref/templates/api/#django.template.Context>Context</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>typing.Generic</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L74 target=_blank>See source code</a></p> <p>Metadata available inside slot functions.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-class>Slot functions</a>.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>SlotContext</span><span class=p>,</span> <span class=n>SlotResult</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>SlotResult</span><span class=p>:</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>return</span> <span class=sa>f</span><span class=s2>&quot;Hello, </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>data</span><span class=p>[</span><span class=s1>&#39;name&#39;</span><span class=p>]</span><span class=si>}</span><span class=s2>!&quot;</span>
</code></pre></div> <p>You can pass a type parameter to the <code>SlotContext</code> to specify the type of the data passed to the slot:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=k>class</span><span class=w> </span><span class=nc>MySlotData</span><span class=p>(</span><span class=n>TypedDict</span><span class=p>):</span>
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a> <span class=n>name</span><span class=p>:</span> <span class=nb>str</span>
@ -2298,16 +2298,19 @@
class-attribute
instance-attribute
(django_components.SlotContext.fallback)" href=#django_components.SlotContext.fallback>fallback</a></code></b> (<code><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a>[<a class="autorefs autorefs-external" title=typing.Union href=https://docs.python.org/3.12/library/typing.html#typing.Union>Union</a>[<a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a>, <a class="autorefs autorefs-internal" title=" SlotFallback (django_components.slots.SlotFallback)" href=#django_components.SlotFallback>SlotFallback</a>]]</code>) <div class=doc-md-description> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id=django_components.SlotContext.context class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">context</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.SlotContext.context class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>context</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=django.template.Context href=https://docs.djangoproject.com/en/5.2/_objects/ref/templates/api/#django.template.Context>Context</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L113 target=_blank>See source code</a></p> <p>Django template <a href=https://docs.djangoproject.com/en/5.1/ref/templates/api/#django.template.Context><code>Context</code></a> available inside the <a href=../template_tags#fill><code>{% fill %}</code></a> tag.</p> <p>May be <code>None</code> if you call the slot fill directly, without using <a href=../template_tags#slot><code>{% slot %}</code></a> tags.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.SlotContext.data class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">data</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.SlotContext.data class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>data</span><span class=p>:</span> <span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L85 target=_blank>See source code</a></p> <p>Data passed to the slot.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-data>Slot data</a>.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L129 target=_blank>See source code</a></p> <p>Django template <a href=https://docs.djangoproject.com/en/5.1/ref/templates/api/#django.template.Context><code>Context</code></a> available inside the <a href=../template_tags#fill><code>{% fill %}</code></a> tag.</p> <p>May be <code>None</code> if you call the slot fill directly, without using <a href=../template_tags#slot><code>{% slot %}</code></a> tags.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.SlotContext.data class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">data</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.SlotContext.data class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>data</span><span class=p>:</span> <span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L101 target=_blank>See source code</a></p> <p>Data passed to the slot.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-data>Slot data</a>.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>return</span> <span class=sa>f</span><span class=s2>&quot;Hello, </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>data</span><span class=p>[</span><span class=s1>&#39;name&#39;</span><span class=p>]</span><span class=si>}</span><span class=s2>!&quot;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.SlotContext.fallback class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">fallback</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.SlotContext.fallback class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>fallback</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=typing.Union href=https://docs.python.org/3.12/library/typing.html#typing.Union>Union</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotFallback (django_components.slots.SlotFallback)" href=#django_components.SlotFallback>SlotFallback</a></span><span class=p>]]</span> <span class=o>=</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L98 target=_blank>See source code</a></p> <p>Slot's fallback content. Lazily-rendered - coerce this value to string to force it to render.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-fallback>Slot fallback</a>.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L114 target=_blank>See source code</a></p> <p>Slot's fallback content. Lazily-rendered - coerce this value to string to force it to render.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-fallback>Slot fallback</a>.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>return</span> <span class=sa>f</span><span class=s2>&quot;Hello, </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>fallback</span><span class=si>}</span><span class=s2>!&quot;</span>
</code></pre></div> <p>May be <code>None</code> if you call the slot fill directly, without using <a href=../template_tags#slot><code>{% slot %}</code></a> tags.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.SlotFallback class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SlotFallback</span> <a href=#django_components.SlotFallback class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>SlotFallback</span><span class=p>(</span><span class=n>slot</span><span class=p>:</span> <span class=n><span title=django_components.slots.SlotNode>SlotNode</span></span><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=django.template.Context href=https://docs.djangoproject.com/en/5.2/_objects/ref/templates/api/#django.template.Context>Context</a></span><span class=p>)</span>
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>object</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L375 target=_blank>See source code</a></p> <p>SlotFallback allows to treat a slot fallback as a variable. The slot is rendered only once the instance is coerced to string.</p> <p>This is used to access slots as variables inside the templates. When a <code>SlotFallback</code> is rendered in the template with <code>{{ my_lazy_slot }}</code>, it will output the contents of the slot.</p> <p>Usage in slot functions:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>def</span><span class=w> </span><span class=nf>slot_function</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>return</span> <span class=sa>f</span><span class=s2>&quot;Hello, </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>fallback</span><span class=si>}</span><span class=s2>!&quot;</span>
</code></pre></div> <div class="doc doc-children"> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.SlotFunc class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SlotFunc</span> <a href=#django_components.SlotFunc class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>typing.Protocol</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L122 target=_blank>See source code</a></p> <p>When rendering components with <a href=../api#django_components.Component.render><code>Component.render()</code></a> or <a href=../api#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>, the slots can be given either as strings or as functions.</p> <p>If a slot is given as a function, it will have the signature of <code>SlotFunc</code>.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-functions>Slot functions</a>.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>ctx</code></b> (<code><a class="autorefs autorefs-internal" title=" SlotContext
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>object</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L391 target=_blank>See source code</a></p> <p>The content between the <code>{% slot %}..{% endslot %}</code> tags is the <em>fallback</em> content that will be rendered if no fill is given for the slot.</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=cp>{%</span> <span class=k>slot</span> <span class=s2>&quot;name&quot;</span> <span class=cp>%}</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=x> Hello, my name is </span><span class=cp>{{</span> <span class=nv>name</span> <span class=cp>}}</span><span class=x> &lt;!-- Fallback content --&gt;</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=cp>{%</span> <span class=k>endslot</span> <span class=cp>%}</span>
</code></pre></div> <p>Because the fallback is defined as a piece of the template (<a href=https://github.com/django/django/blob/ddb85294159185c5bd5cae34c9ef735ff8409bfe/django/template/base.py#L1017><code>NodeList</code></a>), we want to lazily render it only when needed.</p> <p><code>SlotFallback</code> type allows to pass around the slot fallback as a variable.</p> <p>To force the fallback to render, coerce it to string to trigger the <code>__str__()</code> method.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=k>def</span><span class=w> </span><span class=nf>slot_function</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>):</span>
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a> <span class=k>return</span> <span class=sa>f</span><span class=s2>&quot;Hello, </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>fallback</span><span class=si>}</span><span class=s2>!&quot;</span>
</code></pre></div> <div class="doc doc-children"> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.SlotFunc class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SlotFunc</span> <a href=#django_components.SlotFunc class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>typing.Protocol</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L138 target=_blank>See source code</a></p> <p>When rendering components with <a href=../api#django_components.Component.render><code>Component.render()</code></a> or <a href=../api#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>, the slots can be given either as strings or as functions.</p> <p>If a slot is given as a function, it will have the signature of <code>SlotFunc</code>.</p> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-functions>Slot functions</a>.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>ctx</code></b> (<code><a class="autorefs autorefs-internal" title=" SlotContext
@ -2336,7 +2339,7 @@
dataclass
(django_components.slots.Slot)" href=#django_components.Slot>Slot</a></span><span class=p>[</span><span class=n><span title=django_components.slots.TSlotData>TSlotData</span></span><span class=p>]]</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L313 target=_blank>See source code</a></p> <p>Type representing all forms in which slot content can be passed to a component.</p> <p>When rendering a component with <a href=../api#django_components.Component.render><code>Component.render()</code></a> or <a href=../api#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>, the slots may be given a strings, functions, or <a href=../api#django_components.Slot><code>Slot</code></a> instances. This type describes that union.</p> <p>Use this type when typing the slots in your component.</p> <p><code>SlotInput</code> accepts an optional type parameter to specify the data dictionary that will be passed to the slot content function.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>typing</span><span class=w> </span><span class=kn>import</span> <span class=n>NamedTuple</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L329 target=_blank>See source code</a></p> <p>Type representing all forms in which slot content can be passed to a component.</p> <p>When rendering a component with <a href=../api#django_components.Component.render><code>Component.render()</code></a> or <a href=../api#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>, the slots may be given a strings, functions, or <a href=../api#django_components.Slot><code>Slot</code></a> instances. This type describes that union.</p> <p>Use this type when typing the slots in your component.</p> <p><code>SlotInput</code> accepts an optional type parameter to specify the data dictionary that will be passed to the slot content function.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>typing</span><span class=w> </span><span class=kn>import</span> <span class=n>NamedTuple</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=kn>from</span><span class=w> </span><span class=nn>typing_extensions</span><span class=w> </span><span class=kn>import</span> <span class=n>TypedDict</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Component</span><span class=p>,</span> <span class=n>SlotInput</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
@ -2369,8 +2372,15 @@
<a id=__codelineno-0-31 name=__codelineno-0-31 href=#__codelineno-0-31></a> <span class=p>},</span>
<a id=__codelineno-0-32 name=__codelineno-0-32 href=#__codelineno-0-32></a><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h2 id=django_components.SlotRef class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SlotRef</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href=#django_components.SlotRef class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>SlotRef</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-internal" title=" SlotFallback (django_components.slots.SlotFallback)" href=#django_components.SlotFallback>SlotFallback</a></span>
</code></pre></div> <div class="doc doc-contents first"> </div> </div> <div class="doc doc-object doc-attribute"> <h2 id=django_components.SlotResult class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SlotResult</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href=#django_components.SlotResult class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>SlotResult</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-external" title=typing.Union href=https://docs.python.org/3.12/library/typing.html#typing.Union>Union</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-external" title=django.utils.safestring.SafeString href=https://docs.djangoproject.com/en/5.2/_objects/ref/utils/#django.utils.safestring.SafeString>SafeString</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L54 target=_blank>See source code</a></p> <p>Type representing the result of a slot render function.</p> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.TagFormatterABC class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">TagFormatterABC</span> <a href=#django_components.TagFormatterABC class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>abc.ABC</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/tag_formatter.py#L53 target=_blank>See source code</a></p> <p>Abstract base class for defining custom tag formatters.</p> <p>Tag formatters define how the component tags are used in the template.</p> <p>Read more about <a href=../../concepts/advanced/tag_formatter>Tag formatter</a>.</p> <p>For example, with the default tag formatter (<a href=../tag_formatters#django_components.tag_formatter.ComponentFormatter><code>ComponentFormatter</code></a>), components are written as:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=cp>{%</span> <span class=k>component</span> <span class=s2>&quot;comp_name&quot;</span> <span class=cp>%}</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L428 target=_blank>See source code</a></p> <p>DEPRECATED: Use <a href=../api#django_components.SlotFallback><code>SlotFallback</code></a> instead. Will be removed in v1.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h2 id=django_components.SlotResult class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SlotResult</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href=#django_components.SlotResult class=headerlink title="Permanent link">¤</a></h2> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>SlotResult</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-external" title=typing.Union href=https://docs.python.org/3.12/library/typing.html#typing.Union>Union</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-external" title=django.utils.safestring.SafeString href=https://docs.djangoproject.com/en/5.2/_objects/ref/utils/#django.utils.safestring.SafeString>SafeString</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/slots.py#L54 target=_blank>See source code</a></p> <p>Type representing the result of a slot render function.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>SlotContext</span><span class=p>,</span> <span class=n>SlotResult</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>def</span><span class=w> </span><span class=nf>my_slot_fn</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n>SlotContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>SlotResult</span><span class=p>:</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>return</span> <span class=s2>&quot;Hello, world!&quot;</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a><span class=n>my_slot</span> <span class=o>=</span> <span class=n>Slot</span><span class=p>(</span><span class=n>my_slot_fn</span><span class=p>)</span>
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=n>html</span> <span class=o>=</span> <span class=n>my_slot</span><span class=p>()</span> <span class=c1># Output: Hello, world!</span>
</code></pre></div> <p>Read more about <a href=../../concepts/fundamentals/slots#slot-functions>Slot functions</a>.</p> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.TagFormatterABC class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">TagFormatterABC</span> <a href=#django_components.TagFormatterABC class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>abc.ABC</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/tag_formatter.py#L53 target=_blank>See source code</a></p> <p>Abstract base class for defining custom tag formatters.</p> <p>Tag formatters define how the component tags are used in the template.</p> <p>Read more about <a href=../../concepts/advanced/tag_formatter>Tag formatter</a>.</p> <p>For example, with the default tag formatter (<a href=../tag_formatters#django_components.tag_formatter.ComponentFormatter><code>ComponentFormatter</code></a>), components are written as:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=cp>{%</span> <span class=k>component</span> <span class=s2>&quot;comp_name&quot;</span> <span class=cp>%}</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=cp>{%</span> <span class=k>endcomponent</span> <span class=cp>%}</span>
</code></pre></div> <p>While with the shorthand tag formatter (<a href=../tag_formatters#django_components.tag_formatter.ShorthandComponentFormatter><code>ShorthandComponentFormatter</code></a>), components are written as: <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=cp>{%</span> <span class=k>comp_name</span> <span class=cp>%}</span>
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=cp>{%</span> <span class=k>endcomp_name</span> <span class=cp>%}</span>

View file

@ -13,7 +13,7 @@
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Remove Component class from the extension&#39;s cache on deletion</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=bp>self</span><span class=o>.</span><span class=n>cache</span><span class=o>.</span><span class=n>pop</span><span class=p>(</span><span class=n>ctx</span><span class=o>.</span><span class=n>component_cls</span><span class=p>,</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> </div> </div><p><strong>Available data:</strong></p> <table> <thead> <tr> <th>name</th> <th>type</th> <th>description</th> </tr> </thead> <tbody> <tr> <td><code>component_cls</code></td> <td><a href=../api#django_components.Component><code>Type[Component]</code></a></td> <td>The to-be-deleted Component class</td> </tr> </tbody> </table> <div class="doc doc-object doc-function"> <h3 id=django_components.extension.ComponentExtension.on_component_data class="doc doc-heading"> <span class="doc doc-object-name doc-function-name">on_component_data</span> <a href=#django_components.extension.ComponentExtension.on_component_data class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_data</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" OnComponentDataContext (django_components.extension.OnComponentDataContext)" href=#django_components.extension.OnComponentDataContext>OnComponentDataContext</a></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L504 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was triggered to render, after a component's context and data methods have been processed.</p> <p>This hook is called after <a href=../api#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>Component.get_js_data()</code></a> and <a href=../api#django_components.Component.get_css_data><code>Component.get_css_data()</code></a>.</p> <p>This hook runs after <a href=../api#django_components.ComponentExtension.on_component_input><code>on_component_input</code></a>.</p> <p>Use this hook to modify or validate the component's data before rendering.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentDataContext</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L517 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was triggered to render, after a component's context and data methods have been processed.</p> <p>This hook is called after <a href=../api#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>Component.get_js_data()</code></a> and <a href=../api#django_components.Component.get_css_data><code>Component.get_css_data()</code></a>.</p> <p>This hook runs after <a href=../api#django_components.ComponentExtension.on_component_input><code>on_component_input</code></a>.</p> <p>Use this hook to modify or validate the component's data before rendering.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentDataContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentDataContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
@ -26,14 +26,14 @@
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_input</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentInputContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Add extra kwarg to all components when they are rendered</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>ctx</span><span class=o>.</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;my_input&quot;</span><span class=p>]</span> <span class=o>=</span> <span class=s2>&quot;my_value&quot;</span>
</code></pre></div> </div> </div><p><strong>Available data:</strong></p> <table> <thead> <tr> <th>name</th> <th>type</th> <th>description</th> </tr> </thead> <tbody> <tr> <td><code>args</code></td> <td><code>List</code></td> <td>List of positional arguments passed to the component</td> </tr> <tr> <td><code>component</code></td> <td><a href=../api#django_components.Component><code>Component</code></a></td> <td>The Component instance that received the input and is being rendered</td> </tr> <tr> <td><code>component_cls</code></td> <td><a href=../api#django_components.Component><code>Type[Component]</code></a></td> <td>The Component class</td> </tr> <tr> <td><code>component_id</code></td> <td><code>str</code></td> <td>The unique identifier for this component instance</td> </tr> <tr> <td><code>context</code></td> <td><a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a></td> <td>The Django template Context object</td> </tr> <tr> <td><code>kwargs</code></td> <td><code>Dict</code></td> <td>Dictionary of keyword arguments passed to the component</td> </tr> <tr> <td><code>slots</code></td> <td><code>Dict</code></td> <td>Dictionary of slot definitions</td> </tr> </tbody> </table> <div class="doc doc-object doc-function"> <h3 id=django_components.extension.ComponentExtension.on_component_registered class="doc doc-heading"> <span class="doc doc-object-name doc-function-name">on_component_registered</span> <a href=#django_components.extension.ComponentExtension.on_component_registered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_registered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" OnComponentRegisteredContext (django_components.extension.OnComponentRegisteredContext)" href=#django_components.extension.OnComponentRegisteredContext>OnComponentRegisteredContext</a></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span>
</code></pre></div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>In this hook, the components' inputs are still mutable.</p> <p>As such, if a component defines <a href=../api#django_components.Component.Args><code>Args</code></a>, <a href=../api#django_components.Component.Kwargs><code>Kwargs</code></a>, <a href=../api#django_components.Component.Slots><code>Slots</code></a> types, these types are NOT yet instantiated.</p> <p>Instead, component fields like <a href=../api#django_components.Component.args><code>Component.args</code></a>, <a href=../api#django_components.Component.kwargs><code>Component.kwargs</code></a>, <a href=../api#django_components.Component.slots><code>Component.slots</code></a> are plain <code>list</code> / <code>dict</code> objects.</p> </div> </div> </div><p><strong>Available data:</strong></p> <table> <thead> <tr> <th>name</th> <th>type</th> <th>description</th> </tr> </thead> <tbody> <tr> <td><code>args</code></td> <td><code>List</code></td> <td>List of positional arguments passed to the component</td> </tr> <tr> <td><code>component</code></td> <td><a href=../api#django_components.Component><code>Component</code></a></td> <td>The Component instance that received the input and is being rendered</td> </tr> <tr> <td><code>component_cls</code></td> <td><a href=../api#django_components.Component><code>Type[Component]</code></a></td> <td>The Component class</td> </tr> <tr> <td><code>component_id</code></td> <td><code>str</code></td> <td>The unique identifier for this component instance</td> </tr> <tr> <td><code>context</code></td> <td><a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a></td> <td>The Django template Context object</td> </tr> <tr> <td><code>kwargs</code></td> <td><code>Dict</code></td> <td>Dictionary of keyword arguments passed to the component</td> </tr> <tr> <td><code>slots</code></td> <td><code>Dict[str, Slot]</code></td> <td>Dictionary of slot definitions</td> </tr> </tbody> </table> <div class="doc doc-object doc-function"> <h3 id=django_components.extension.ComponentExtension.on_component_registered class="doc doc-heading"> <span class="doc doc-object-name doc-function-name">on_component_registered</span> <a href=#django_components.extension.ComponentExtension.on_component_registered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_registered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" OnComponentRegisteredContext (django_components.extension.OnComponentRegisteredContext)" href=#django_components.extension.OnComponentRegisteredContext>OnComponentRegisteredContext</a></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L426 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> class is registered with a <a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a>.</p> <p>This hook is called after a <a href=../api#django_components.Component><code>Component</code></a> class is successfully registered.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentRegisteredContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_registered</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentRegisteredContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>&quot;Component </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>component_cls</span><span class=si>}</span><span class=s2> registered to </span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>registry</span><span class=si>}</span><span class=s2> as &#39;</span><span class=si>{</span><span class=n>ctx</span><span class=o>.</span><span class=n>name</span><span class=si>}</span><span class=s2>&#39;&quot;</span><span class=p>)</span>
</code></pre></div> </div> </div><p><strong>Available data:</strong></p> <table> <thead> <tr> <th>name</th> <th>type</th> <th>description</th> </tr> </thead> <tbody> <tr> <td><code>component_cls</code></td> <td><a href=../api#django_components.Component><code>Type[Component]</code></a></td> <td>The registered Component class</td> </tr> <tr> <td><code>name</code></td> <td><code>str</code></td> <td>The name the component was registered under</td> </tr> <tr> <td><code>registry</code></td> <td><a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a></td> <td>The registry the component was registered to</td> </tr> </tbody> </table> <div class="doc doc-object doc-function"> <h3 id=django_components.extension.ComponentExtension.on_component_rendered class="doc doc-heading"> <span class="doc doc-object-name doc-function-name">on_component_rendered</span> <a href=#django_components.extension.ComponentExtension.on_component_rendered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_component_rendered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><span title=django_components.extension.OnComponentRenderedContext>OnComponentRenderedContext</span></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L531 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was rendered, including all its child components.</p> <p>Use this hook to access or post-process the component's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentRenderedContext</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L544 target=_blank>See source code</a></p> <p>Called when a <a href=../api#django_components.Component><code>Component</code></a> was rendered, including all its child components.</p> <p>Use this hook to access or post-process the component's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnComponentRenderedContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_component_rendered</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnComponentRenderedContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>Optional</span><span class=p>[</span><span class=nb>str</span><span class=p>]:</span>
@ -60,7 +60,7 @@
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Remove registry from the extension&#39;s cache on deletion</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=bp>self</span><span class=o>.</span><span class=n>cache</span><span class=o>.</span><span class=n>pop</span><span class=p>(</span><span class=n>ctx</span><span class=o>.</span><span class=n>registry</span><span class=p>,</span> <span class=kc>None</span><span class=p>)</span>
</code></pre></div> </div> </div><p><strong>Available data:</strong></p> <table> <thead> <tr> <th>name</th> <th>type</th> <th>description</th> </tr> </thead> <tbody> <tr> <td><code>registry</code></td> <td><a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a></td> <td>The to-be-deleted ComponentRegistry instance</td> </tr> </tbody> </table> <div class="doc doc-object doc-function"> <h3 id=django_components.extension.ComponentExtension.on_slot_rendered class="doc doc-heading"> <span class="doc doc-object-name doc-function-name">on_slot_rendered</span> <a href=#django_components.extension.ComponentExtension.on_slot_rendered class=headerlink title="Permanent link">¤</a></h3> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nf>on_slot_rendered</span><span class=p>(</span><span class=n>ctx</span><span class=p>:</span> <span class=n><span title=django_components.extension.OnSlotRenderedContext>OnSlotRenderedContext</span></span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><a class="autorefs autorefs-external" title=typing.Optional href=https://docs.python.org/3.12/library/typing.html#typing.Optional>Optional</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L557 target=_blank>See source code</a></p> <p>Called when a <a href=../template_tags#slot><code>{% slot %}</code></a> tag was rendered.</p> <p>Use this hook to access or post-process the slot's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnSlotRenderedContext</span>
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L570 target=_blank>See source code</a></p> <p>Called when a <a href=../template_tags#slot><code>{% slot %}</code></a> tag was rendered.</p> <p>Use this hook to access or post-process the slot's rendered output.</p> <p>To modify the output, return a new string from this hook.</p> <p><strong>Example:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>ComponentExtension</span><span class=p>,</span> <span class=n>OnSlotRenderedContext</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>class</span><span class=w> </span><span class=nc>MyExtension</span><span class=p>(</span><span class=n>ComponentExtension</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>def</span><span class=w> </span><span class=nf>on_slot_rendered</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>ctx</span><span class=p>:</span> <span class=n>OnSlotRenderedContext</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>Optional</span><span class=p>[</span><span class=nb>str</span><span class=p>]:</span>
@ -155,13 +155,23 @@
instance-attribute
(django_components.extension.OnComponentInputContext.slots)" href=#django_components.extension.OnComponentInputContext.slots>slots</a></code></b> (<code><a class="autorefs autorefs-external" title=typing.Dict href=https://docs.python.org/3.12/library/typing.html#typing.Dict>Dict</a></code>) <div class=doc-md-description> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.args class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">args</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.args class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>args</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.List href=https://docs.python.org/3.12/library/typing.html#typing.List>List</a></span>
(django_components.extension.OnComponentInputContext.slots)" href=#django_components.extension.OnComponentInputContext.slots>slots</a></code></b> (<code><a class="autorefs autorefs-external" title=typing.Dict href=https://docs.python.org/3.12/library/typing.html#typing.Dict>Dict</a>[<a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a>, <a class="autorefs autorefs-internal" title=" Slot
dataclass
(django_components.slots.Slot)" href=../api/#django_components.Slot>Slot</a>]</code>) <div class=doc-md-description> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.args class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">args</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.args class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>args</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.List href=https://docs.python.org/3.12/library/typing.html#typing.List>List</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L91 target=_blank>See source code</a></p> <p>List of positional arguments passed to the component</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.component class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">component</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.component class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>component</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" Component (django_components.Component)" href=../api/#django_components.Component>Component</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L85 target=_blank>See source code</a></p> <p>The Component instance that received the input and is being rendered</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.component_cls class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">component_cls</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.component_cls class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>component_cls</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-internal" title=" Component (django_components.Component)" href=../api/#django_components.Component>Component</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L87 target=_blank>See source code</a></p> <p>The Component class</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.component_id class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">component_id</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.component_id class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>component_id</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L89 target=_blank>See source code</a></p> <p>The unique identifier for this component instance</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.context class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">context</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.context class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>context</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=django.template.Context href=https://docs.djangoproject.com/en/5.2/_objects/ref/templates/api/#django.template.Context>Context</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L97 target=_blank>See source code</a></p> <p>The Django template Context object</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.kwargs class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">kwargs</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.kwargs class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>kwargs</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Dict href=https://docs.python.org/3.12/library/typing.html#typing.Dict>Dict</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L93 target=_blank>See source code</a></p> <p>Dictionary of keyword arguments passed to the component</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.slots class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">slots</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.slots class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>slots</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Dict href=https://docs.python.org/3.12/library/typing.html#typing.Dict>Dict</a></span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L93 target=_blank>See source code</a></p> <p>Dictionary of keyword arguments passed to the component</p> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id=django_components.extension.OnComponentInputContext.slots class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">slots</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href=#django_components.extension.OnComponentInputContext.slots class=headerlink title="Permanent link">¤</a></h4> <div class="doc-signature highlight"><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>slots</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Dict href=https://docs.python.org/3.12/library/typing.html#typing.Dict>Dict</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" title=" Slot
dataclass
(django_components.slots.Slot)" href=../api/#django_components.Slot>Slot</a></span><span class=p>]</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/extension.py#L95 target=_blank>See source code</a></p> <p>Dictionary of slot definitions</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id=django_components.extension.OnComponentRegisteredContext class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">OnComponentRegisteredContext</span> <a href=#django_components.extension.OnComponentRegisteredContext class=headerlink title="Permanent link">¤</a></h3> <div class="doc doc-contents first"> <p><span class=doc-section-title>Attributes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=" component_cls

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,270 +2,270 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://django-components.github.io/django-components/latest/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/migrating_from_safer_staticfiles/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/release_notes/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_caching/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_context_scope/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_libraries/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_registry/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/extensions/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/hooks/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/html_fragments/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/provide_inject/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/rendering_js_css/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/tag_formatters/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/template_tags/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/testing/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/autodiscovery/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/component_defaults/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/component_views_urls/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/html_js_css_files/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/html_js_css_variables/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/http_request/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/render_api/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/rendering_components/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/secondary_js_css_files/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/single_file_components/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/slots/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/subclassing_components/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/typing_and_validation/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/adding_js_and_css/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/adding_slots/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/components_in_templates/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/parametrising_components/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/rendering_components/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/your_first_component/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/devguides/dependency_mgmt/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/devguides/slot_rendering/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/devguides/slots_and_blocks/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/other/troubleshooting/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/setup/caching/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/setup/development_server/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/code_of_conduct/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/community/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/compatibility/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/contributing/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/development/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/installation/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/license/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/migrating/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/performance/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/security_notes/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/welcome/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/api/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/commands/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/components/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/exceptions/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/extension_commands/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/extension_hooks/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/extension_urls/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/settings/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/signals/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/tag_formatters/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/template_tags/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/template_vars/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/testing_api/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/urls/</loc>
<lastmod>2025-05-25</lastmod>
<lastmod>2025-05-26</lastmod>
</url>
</urlset>

Binary file not shown.

View file

@ -1,7 +1,7 @@
[
{
"version": "dev",
"title": "dev (bae0f28)",
"title": "dev (55b1c8b)",
"aliases": []
},
{