Deployed 91012829 to dev with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
github-actions 2025-10-02 11:47:48 +00:00
parent ea0ac71ecb
commit c79f1ecef3
72 changed files with 316 additions and 314 deletions

File diff suppressed because one or more lines are too long

View file

@ -527,7 +527,7 @@
instance-attribute
(django_components.Component.view)" href=#django_components.Component.view>view</a></code></b> (<code><a class="autorefs autorefs-internal" title=" ComponentView (django_components.extensions.view.ComponentView)" href=#django_components.ComponentView>ComponentView</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.Component.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-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Args 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>Args</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.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</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/component.py#L569 target=_blank>See source code</a></p> <p>Optional typing for positional arguments passed to the component.</p> <p>If set and not <code>None</code>, then the <code>args</code> parameter of the data methods (<a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>, <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>) will be the instance of this class:</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 "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L588 target=_blank>See source code</a></p> <p>Optional typing for positional arguments passed to the component.</p> <p>If set and not <code>None</code>, then the <code>args</code> parameter of the data methods (<a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>, <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>) will be the instance of this class:</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>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Component</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -547,7 +547,7 @@
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=n>args</span><span class=o>=</span><span class=n>Table</span><span class=o>.</span><span class=n>Args</span><span class=p>(</span><span class=n>color</span><span class=o>=</span><span class=s2>&quot;red&quot;</span><span class=p>,</span> <span class=n>size</span><span class=o>=</span><span class=mi>10</span><span class=p>),</span>
<a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=p>)</span>
</code></pre></div> <p>Read more on <a href=../../concepts/fundamentals/typing_and_validation>Typing and validation</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.Cache class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">Cache</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Cache 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>Cache</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=" ComponentCache (django_components.extensions.cache.ComponentCache)" href=#django_components.ComponentCache>ComponentCache</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/component.py#L2179 target=_blank>See source code</a></p> <p>The fields of this class are used to configure the component caching.</p> <p>Read more about <a href=../../concepts/advanced/component_caching>Component caching</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>Component</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2198 target=_blank>See source code</a></p> <p>The fields of this class are used to configure the component caching.</p> <p>Read more about <a href=../../concepts/advanced/component_caching>Component caching</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>Component</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>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>class</span><span class=w> </span><span class=nc>Cache</span><span class=p>:</span>
@ -555,7 +555,7 @@
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>ttl</span> <span class=o>=</span> <span class=mi>60</span> <span class=o>*</span> <span class=mi>60</span> <span class=o>*</span> <span class=mi>24</span> <span class=c1># 1 day</span>
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a> <span class=n>cache_name</span> <span class=o>=</span> <span class=s2>&quot;my_cache&quot;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.CssData class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">CssData</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.CssData 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>CssData</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.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</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/component.py#L1705 target=_blank>See source code</a></p> <p>Optional typing for the data to be returned from <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>.</p> <p>If set and not <code>None</code>, then this class will be instantiated with the dictionary returned from <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a> to validate the data.</p> <p>The constructor of this class MUST accept keyword arguments:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>CssData</span><span class=p>(</span><span class=o>**</span><span class=n>css_data</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/component.py#L1724 target=_blank>See source code</a></p> <p>Optional typing for the data to be returned from <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>.</p> <p>If set and not <code>None</code>, then this class will be instantiated with the dictionary returned from <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a> to validate the data.</p> <p>The constructor of this class MUST accept keyword arguments:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>CssData</span><span class=p>(</span><span class=o>**</span><span class=n>css_data</span><span class=p>)</span>
</code></pre></div> <p>You can also return an instance of <code>CssData</code> directly from <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a> to get type hints:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-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-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></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>
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>
@ -587,15 +587,15 @@
<a id=__codelineno-3-9 name=__codelineno-3-9 href=#__codelineno-3-9></a> <span class=k>def</span><span class=w> </span><span class=fm>__getitem__</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>key</span><span class=p>):</span>
<a id=__codelineno-3-10 name=__codelineno-3-10 href=#__codelineno-3-10></a> <span class=k>return</span> <span class=nb>getattr</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>key</span><span class=p>)</span>
</code></pre></div></p> </li> </ol> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.DebugHighlight class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">DebugHighlight</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.DebugHighlight 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>DebugHighlight</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=" ComponentDebugHighlight (django_components.extensions.debug_highlight.ComponentDebugHighlight)" href=#django_components.ComponentDebugHighlight>ComponentDebugHighlight</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/component.py#L2248 target=_blank>See source code</a></p> <p>The fields of this class are used to configure the component debug highlighting.</p> <p>Read more about <a href=../../guides/other/troubleshooting#component-and-slot-highlighting>Component debug highlighting</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.Defaults class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">Defaults</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Defaults 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>Defaults</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=" ComponentDefaults (django_components.extensions.defaults.ComponentDefaults)" href=#django_components.ComponentDefaults>ComponentDefaults</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/component.py#L2201 target=_blank>See source code</a></p> <p>The fields of this class are used to set default values for the component's kwargs.</p> <p>Read more about <a href=../../concepts/fundamentals/component_defaults>Component defaults</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>Component</span><span class=p>,</span> <span class=n>Default</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2267 target=_blank>See source code</a></p> <p>The fields of this class are used to configure the component debug highlighting.</p> <p>Read more about <a href=../../guides/other/troubleshooting#component-and-slot-highlighting>Component debug highlighting</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.Defaults class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">Defaults</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Defaults 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>Defaults</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=" ComponentDefaults (django_components.extensions.defaults.ComponentDefaults)" href=#django_components.ComponentDefaults>ComponentDefaults</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/component.py#L2220 target=_blank>See source code</a></p> <p>The fields of this class are used to set default values for the component's kwargs.</p> <p>Read more about <a href=../../concepts/fundamentals/component_defaults>Component defaults</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>Component</span><span class=p>,</span> <span class=n>Default</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>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>class</span><span class=w> </span><span class=nc>Defaults</span><span class=p>:</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=n>position</span> <span class=o>=</span> <span class=s2>&quot;left&quot;</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>selected_items</span> <span class=o>=</span> <span class=n>Default</span><span class=p>(</span><span class=k>lambda</span><span class=p>:</span> <span class=p>[</span><span class=mi>1</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>3</span><span class=p>])</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.JsData class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">JsData</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.JsData 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>JsData</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.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</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/component.py#L1413 target=_blank>See source code</a></p> <p>Optional typing for the data to be returned from <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>.</p> <p>If set and not <code>None</code>, then this class will be instantiated with the dictionary returned from <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a> to validate the data.</p> <p>The constructor of this class MUST accept keyword arguments:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>JsData</span><span class=p>(</span><span class=o>**</span><span class=n>js_data</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/component.py#L1432 target=_blank>See source code</a></p> <p>Optional typing for the data to be returned from <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>.</p> <p>If set and not <code>None</code>, then this class will be instantiated with the dictionary returned from <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a> to validate the data.</p> <p>The constructor of this class MUST accept keyword arguments:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>JsData</span><span class=p>(</span><span class=o>**</span><span class=n>js_data</span><span class=p>)</span>
</code></pre></div> <p>You can also return an instance of <code>JsData</code> directly from <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a> to get type hints:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-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-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></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>
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>
@ -627,7 +627,7 @@
<a id=__codelineno-3-9 name=__codelineno-3-9 href=#__codelineno-3-9></a> <span class=k>def</span><span class=w> </span><span class=fm>__getitem__</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>key</span><span class=p>):</span>
<a id=__codelineno-3-10 name=__codelineno-3-10 href=#__codelineno-3-10></a> <span class=k>return</span> <span class=nb>getattr</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>key</span><span class=p>)</span>
</code></pre></div></p> </li> </ol> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Kwargs 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>Kwargs</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.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</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/component.py#L625 target=_blank>See source code</a></p> <p>Optional typing for keyword arguments passed to the component.</p> <p>If set and not <code>None</code>, then the <code>kwargs</code> parameter of the data methods (<a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>, <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>) will be the instance of this class:</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 "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L644 target=_blank>See source code</a></p> <p>Optional typing for keyword arguments passed to the component.</p> <p>If set and not <code>None</code>, then the <code>kwargs</code> parameter of the data methods (<a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>, <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>) will be the instance of this class:</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>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Component</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -647,7 +647,7 @@
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=n>kwargs</span><span class=o>=</span><span class=n>Table</span><span class=o>.</span><span class=n>Kwargs</span><span class=p>(</span><span class=n>color</span><span class=o>=</span><span class=s2>&quot;red&quot;</span><span class=p>,</span> <span class=n>size</span><span class=o>=</span><span class=mi>10</span><span class=p>),</span>
<a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=p>)</span>
</code></pre></div> <p>Read more on <a href=../../concepts/fundamentals/typing_and_validation>Typing and validation</a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.Media class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">Media</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Media 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>Media</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.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=" ComponentMediaInput (django_components.component_media.ComponentMediaInput)" href=#django_components.ComponentMediaInput>ComponentMediaInput</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/component.py#L1831 target=_blank>See source code</a></p> <p>Defines JS and CSS media files associated with this component.</p> <p>This <code>Media</code> class behaves similarly to <a href=https://docs.djangoproject.com/en/5.2/topics/forms/media/#assets-as-a-static-definition>Django's Media class</a>:</p> <ul> <li>Paths are generally handled as static file paths, and resolved URLs are rendered to HTML with <code>media_class.render_js()</code> or <code>media_class.render_css()</code>.</li> <li>A path that starts with <code>http</code>, <code>https</code>, or <code>/</code> is considered a URL, skipping the static file resolution. This path is still rendered to HTML with <code>media_class.render_js()</code> or <code>media_class.render_css()</code>.</li> <li>A <code>SafeString</code> (with <code>__html__</code> method) is considered an already-formatted HTML tag, skipping both static file resolution and rendering with <code>media_class.render_js()</code> or <code>media_class.render_css()</code>.</li> <li>You can set <a href=../api#django_components.ComponentMediaInput.extend><code>extend</code></a> to configure whether to inherit JS / CSS from parent components. See <a href=../../concepts/fundamentals/secondary_js_css_files/#media-inheritance>Media inheritance</a>.</li> </ul> <p>However, there's a few differences from Django's Media class:</p> <ol> <li>Our Media class accepts various formats for the JS and CSS files: either a single file, a list, or (CSS-only) a dictionary (See <a href=../api#django_components.ComponentMediaInput><code>ComponentMediaInput</code></a>).</li> <li>Individual JS / CSS files can be any of <code>str</code>, <code>bytes</code>, <code>Path</code>, <a href=https://dev.to/doridoro/django-safestring-afj><code>SafeString</code></a>, or a function (See <a href=../api#django_components.ComponentMediaInputPath><code>ComponentMediaInputPath</code></a>).</li> </ol> <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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</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/component.py#L1850 target=_blank>See source code</a></p> <p>Defines JS and CSS media files associated with this component.</p> <p>This <code>Media</code> class behaves similarly to <a href=https://docs.djangoproject.com/en/5.2/topics/forms/media/#assets-as-a-static-definition>Django's Media class</a>:</p> <ul> <li>Paths are generally handled as static file paths, and resolved URLs are rendered to HTML with <code>media_class.render_js()</code> or <code>media_class.render_css()</code>.</li> <li>A path that starts with <code>http</code>, <code>https</code>, or <code>/</code> is considered a URL, skipping the static file resolution. This path is still rendered to HTML with <code>media_class.render_js()</code> or <code>media_class.render_css()</code>.</li> <li>A <code>SafeString</code> (with <code>__html__</code> method) is considered an already-formatted HTML tag, skipping both static file resolution and rendering with <code>media_class.render_js()</code> or <code>media_class.render_css()</code>.</li> <li>You can set <a href=../api#django_components.ComponentMediaInput.extend><code>extend</code></a> to configure whether to inherit JS / CSS from parent components. See <a href=../../concepts/fundamentals/secondary_js_css_files/#media-inheritance>Media inheritance</a>.</li> </ul> <p>However, there's a few differences from Django's Media class:</p> <ol> <li>Our Media class accepts various formats for the JS and CSS files: either a single file, a list, or (CSS-only) a dictionary (See <a href=../api#django_components.ComponentMediaInput><code>ComponentMediaInput</code></a>).</li> <li>Individual JS / CSS files can be any of <code>str</code>, <code>bytes</code>, <code>Path</code>, <a href=https://dev.to/doridoro/django-safestring-afj><code>SafeString</code></a>, or a function (See <a href=../api#django_components.ComponentMediaInputPath><code>ComponentMediaInputPath</code></a>).</li> </ol> <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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>class</span><span class=w> </span><span class=nc>Media</span><span class=p>:</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>js</span> <span class=o>=</span> <span class=p>[</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;path/to/script.js&quot;</span><span class=p>,</span>
@ -661,7 +661,7 @@
<a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a> <span class=s2>&quot;print&quot;</span><span class=p>:</span> <span class=p>[</span><span class=s2>&quot;path/to/style2.css&quot;</span><span class=p>],</span>
<a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a> <span class=p>}</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.Slots 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>Slots</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.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</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/component.py#L682 target=_blank>See source code</a></p> <p>Optional typing for slots passed to the component.</p> <p>If set and not <code>None</code>, then the <code>slots</code> parameter of the data methods (<a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>, <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>) will be the instance of this class:</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 "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L701 target=_blank>See source code</a></p> <p>Optional typing for slots passed to the component.</p> <p>If set and not <code>None</code>, then the <code>slots</code> parameter of the data methods (<a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>, <a href=../api#django_components.Component.get_js_data><code>get_js_data()</code></a>, <a href=../api#django_components.Component.get_css_data><code>get_css_data()</code></a>) will be the instance of this class:</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>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Component</span><span class=p>,</span> <span class=n>Slot</span><span class=p>,</span> <span class=n>SlotInput</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -684,7 +684,7 @@
<a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a> <span class=p>),</span>
<a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a><span class=p>)</span>
</code></pre></div> <p>Read more on <a href=../../concepts/fundamentals/typing_and_validation>Typing and validation</a>.</p> <div class="admonition info"> <p class=admonition-title>Info</p> <p>Components can receive slots as strings, functions, or instances of <a href=../api#django_components.Slot><code>Slot</code></a>.</p> <p>Internally these are all normalized to instances of <a href=../api#django_components.Slot><code>Slot</code></a>.</p> <p>Therefore, the <code>slots</code> dictionary available in data methods (like <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>) will always be a dictionary of <a href=../api#django_components.Slot><code>Slot</code></a> instances.</p> <p>To correctly type this dictionary, you should set the fields of <code>Slots</code> to <a href=../api#django_components.Slot><code>Slot</code></a> or <a href=../api#django_components.SlotInput><code>SlotInput</code></a>:</p> <p><a href=../api#django_components.SlotInput><code>SlotInput</code></a> is a union of <code>Slot</code>, string, and function types.</p> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.TemplateData class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">TemplateData</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.TemplateData 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>TemplateData</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.Type href=https://docs.python.org/3.12/library/typing.html#typing.Type>Type</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/component.py#L1130 target=_blank>See source code</a></p> <p>Optional typing for the data to be returned from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>.</p> <p>If set and not <code>None</code>, then this class will be instantiated with the dictionary returned from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a> to validate the data.</p> <p>The constructor of this class MUST accept keyword arguments:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>TemplateData</span><span class=p>(</span><span class=o>**</span><span class=n>template_data</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/component.py#L1149 target=_blank>See source code</a></p> <p>Optional typing for the data to be returned from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>.</p> <p>If set and not <code>None</code>, then this class will be instantiated with the dictionary returned from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a> to validate the data.</p> <p>The constructor of this class MUST accept keyword arguments:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>TemplateData</span><span class=p>(</span><span class=o>**</span><span class=n>template_data</span><span class=p>)</span>
</code></pre></div> <p>You can also return an instance of <code>TemplateData</code> directly from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a> to get type hints:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-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-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></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>
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>
@ -716,12 +716,12 @@
<a id=__codelineno-3-9 name=__codelineno-3-9 href=#__codelineno-3-9></a> <span class=k>def</span><span class=w> </span><span class=fm>__getitem__</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>key</span><span class=p>):</span>
<a id=__codelineno-3-10 name=__codelineno-3-10 href=#__codelineno-3-10></a> <span class=k>return</span> <span class=nb>getattr</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>key</span><span class=p>)</span>
</code></pre></div></p> </li> </ol> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.View class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">View</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.View 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>View</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=" ComponentView (django_components.extensions.view.ComponentView)" href=#django_components.ComponentView>ComponentView</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/component.py#L2222 target=_blank>See source code</a></p> <p>The fields of this class are used to configure the component views and URLs.</p> <p>This class is a subclass of <a href=https://docs.djangoproject.com/en/5.2/ref/class-based-views/base/#view><code>django.views.View</code></a>. The <a href=../api#django_components.Component><code>Component</code></a> instance is available via <code>self.component</code>.</p> <p>Override the methods of this class to define the behavior of the component.</p> <p>Read more about <a href=../../concepts/fundamentals/component_views_urls>Component views and URLs</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L2241 target=_blank>See source code</a></p> <p>The fields of this class are used to configure the component views and URLs.</p> <p>This class is a subclass of <a href=https://docs.djangoproject.com/en/5.2/ref/class-based-views/base/#view><code>django.views.View</code></a>. The <a href=../api#django_components.Component><code>Component</code></a> instance is available via <code>self.component</code>.</p> <p>Override the methods of this class to define the behavior of the component.</p> <p>Read more about <a href=../../concepts/fundamentals/component_views_urls>Component views and URLs</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>class</span><span class=w> </span><span class=nc>View</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>get</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>request</span><span class=p>:</span> <span class=n>HttpRequest</span><span class=p>,</span> <span class=o>*</span><span class=n>args</span><span class=p>:</span> <span class=n>Any</span><span class=p>,</span> <span class=o>**</span><span class=n>kwargs</span><span class=p>:</span> <span class=n>Any</span><span class=p>)</span> <span class=o>-&gt;</span> <span class=n>HttpResponse</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=n>HttpResponse</span><span class=p>(</span><span class=s2>&quot;Hello, world!&quot;</span><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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.Component.args 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>args</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/component.py#L2528 target=_blank>See source code</a></p> <p>Positional arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p><code>args</code> has the same behavior as the <code>args</code> argument of <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>:</p> <ul> <li>If you defined the <a href=../api/#django_components.Component.Args><code>Component.Args</code></a> class, then the <code>args</code> property will return an instance of that <code>Args</code> class.</li> <li>Otherwise, <code>args</code> will be a plain list.</li> </ul> <p><strong>Example:</strong></p> <p>With <code>Args</code> class:</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>Component</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2547 target=_blank>See source code</a></p> <p>Positional arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p><code>args</code> has the same behavior as the <code>args</code> argument of <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>:</p> <ul> <li>If you defined the <a href=../api/#django_components.Component.Args><code>Component.Args</code></a> class, then the <code>args</code> property will return an instance of that <code>Args</code> class.</li> <li>Otherwise, <code>args</code> will be a plain list.</li> </ul> <p><strong>Example:</strong></p> <p>With <code>Args</code> class:</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>Component</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>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>class</span><span class=w> </span><span class=nc>Args</span><span class=p>(</span><span class=n>NamedTuple</span><span class=p>):</span>
@ -742,17 +742,17 @@
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>args</span><span class=p>[</span><span class=mi>0</span><span class=p>]</span> <span class=o>==</span> <span class=mi>123</span>
<a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>args</span><span class=p>[</span><span class=mi>1</span><span class=p>]</span> <span class=o>==</span> <span class=mi>10</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.cache class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">cache</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.Component.cache 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>cache</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentCache (django_components.extensions.cache.ComponentCache)" href=#django_components.ComponentCache>ComponentCache</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/component.py#L2197 target=_blank>See source code</a></p> <p>Instance of <a href=../api#django_components.ComponentCache><code>ComponentCache</code></a> available at component render time.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.class_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">class_id</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.class_id 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>class_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/component.py#L2260 target=_blank>See source code</a></p> <p>Unique ID of the component class, e.g. <code>MyComponent_ab01f2</code>.</p> <p>This is derived from the component class' module import path, e.g. <code>path.to.my.MyComponent</code>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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.Component.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><span title=django.template.context.Context>Context</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/component.py#L2738 target=_blank>See source code</a></p> <p>The <code>context</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context>Context</a> with which the component template is rendered.</p> <p>If the root component or template was rendered with <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> then this will be an instance of <code>RequestContext</code>.</p> <p>Whether the context variables defined in <code>context</code> are available to the template depends on the <a href=../settings#django_components.app_settings.ComponentsSettings.context_behavior>context behavior mode</a>:</p> <ul> <li> <p>In <code>"django"</code> context behavior mode, the template will have access to the keys of this context.</p> </li> <li> <p>In <code>"isolated"</code> context behavior mode, the template will NOT have access to this context, and data MUST be passed via component's args and kwargs.</p> </li> </ul> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.context_processors_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">context_processors_data</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-property"><code>property</code></small> </span> <a href=#django_components.Component.context_processors_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>context_processors_data</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/component.py#L2911 target=_blank>See source code</a></p> <p>Retrieve data injected by <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#configuring-an-engine><code>context_processors</code></a>.</p> <p>This data is also available from within the component's template, without having to return this data from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>.</p> <p>In regular Django templates, you need to use <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> to apply context processors.</p> <p>In Components, the context processors are applied to components either when:</p> <ul> <li>The component is rendered with <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> (Regular Django behavior)</li> <li>The component is rendered with a regular <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> (or none), but the <code>request</code> kwarg of <a href=../api#django_components.Component.render><code>Component.render()</code></a> is set.</li> <li>The component is nested in another component that matches any of these conditions.</li> </ul> <p>See <a href=../api#django_components.Component.request><code>Component.request</code></a> on how the <code>request</code> (<a href=https://docs.djangoproject.com/en/5.2/ref/request-response/#django.http.HttpRequest>HTTPRequest</a>) object is passed to and within the components.</p> <p>NOTE: This dictionary is generated dynamically, so any changes to it will not be persisted.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L2216 target=_blank>See source code</a></p> <p>Instance of <a href=../api#django_components.ComponentCache><code>ComponentCache</code></a> available at component render time.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.class_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">class_id</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.class_id 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>class_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/component.py#L2279 target=_blank>See source code</a></p> <p>Unique ID of the component class, e.g. <code>MyComponent_ab01f2</code>.</p> <p>This is derived from the component class' module import path, e.g. <code>path.to.my.MyComponent</code>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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.Component.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><span title=django.template.context.Context>Context</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/component.py#L2757 target=_blank>See source code</a></p> <p>The <code>context</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context>Context</a> with which the component template is rendered.</p> <p>If the root component or template was rendered with <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> then this will be an instance of <code>RequestContext</code>.</p> <p>Whether the context variables defined in <code>context</code> are available to the template depends on the <a href=../settings#django_components.app_settings.ComponentsSettings.context_behavior>context behavior mode</a>:</p> <ul> <li> <p>In <code>"django"</code> context behavior mode, the template will have access to the keys of this context.</p> </li> <li> <p>In <code>"isolated"</code> context behavior mode, the template will NOT have access to this context, and data MUST be passed via component's args and kwargs.</p> </li> </ul> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.context_processors_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">context_processors_data</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-property"><code>property</code></small> </span> <a href=#django_components.Component.context_processors_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>context_processors_data</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/component.py#L2930 target=_blank>See source code</a></p> <p>Retrieve data injected by <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#configuring-an-engine><code>context_processors</code></a>.</p> <p>This data is also available from within the component's template, without having to return this data from <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a>.</p> <p>In regular Django templates, you need to use <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> to apply context processors.</p> <p>In Components, the context processors are applied to components either when:</p> <ul> <li>The component is rendered with <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> (Regular Django behavior)</li> <li>The component is rendered with a regular <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> (or none), but the <code>request</code> kwarg of <a href=../api#django_components.Component.render><code>Component.render()</code></a> is set.</li> <li>The component is nested in another component that matches any of these conditions.</li> </ul> <p>See <a href=../api#django_components.Component.request><code>Component.request</code></a> on how the <code>request</code> (<a href=https://docs.djangoproject.com/en/5.2/ref/request-response/#django.http.HttpRequest>HTTPRequest</a>) object is passed to and within the components.</p> <p>NOTE: This dictionary is generated dynamically, so any changes to it will not be persisted.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>user</span> <span class=o>=</span> <span class=bp>self</span><span class=o>.</span><span class=n>context_processors_data</span><span class=p>[</span><span class=s1>&#39;user&#39;</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=p>{</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=s1>&#39;is_logged_in&#39;</span><span class=p>:</span> <span class=n>user</span><span class=o>.</span><span class=n>is_authenticated</span><span class=p>,</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=p>}</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.css class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">css</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.Component.css 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>css</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/component.py#L1492 target=_blank>See source code</a></p> <p>Main CSS associated with this component inlined as string.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.css><code>css</code></a> or <a href=../api#django_components.Component.css_file><code>css_file</code></a> must be defined.</p> </div> <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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L1511 target=_blank>See source code</a></p> <p>Main CSS associated with this component inlined as string.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.css><code>css</code></a> or <a href=../api#django_components.Component.css_file><code>css_file</code></a> must be defined.</p> </div> <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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=n>css</span> <span class=o>=</span> <span class=s2>&quot;&quot;&quot;</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=s2> .my-class {</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=s2> color: red;</span>
@ -767,7 +767,7 @@
<a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a><span class=w> </span><span class=p>}</span>
<a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a><span class=w> </span><span class=sd>&#39;&#39;&#39;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.css_file class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">css_file</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.css_file 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>css_file</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/component.py#L1531 target=_blank>See source code</a></p> <p>Main CSS associated with this component as file path.</p> <p>The filepath must be either:</p> <ul> <li>Relative to the directory where the Component's Python file is defined.</li> <li>Relative to one of the component directories, as set by <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>&lt;root&gt;/components/</code>).</li> <li>Relative to the staticfiles directories, as set by Django's <code>STATICFILES_DIRS</code> setting (e.g. <code>&lt;root&gt;/static/</code>).</li> </ul> <p>When you create a Component class with <code>css_file</code>, these will happen:</p> <ol> <li>If the file path is relative to the directory where the component's Python file is, the path is resolved.</li> <li>The file is read and its contents is set to <a href=../api#django_components.Component.css><code>Component.css</code></a>.</li> </ol> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.css><code>css</code></a> or <a href=../api#django_components.Component.css_file><code>css_file</code></a> must be defined.</p> </div> <p><strong>Example:</strong></p> <div class=highlight><span class=filename>path/to/style.css</span><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=p>.</span><span class=nc>my-class</span><span class=w> </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/component.py#L1550 target=_blank>See source code</a></p> <p>Main CSS associated with this component as file path.</p> <p>The filepath must be either:</p> <ul> <li>Relative to the directory where the Component's Python file is defined.</li> <li>Relative to one of the component directories, as set by <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>&lt;root&gt;/components/</code>).</li> <li>Relative to the staticfiles directories, as set by Django's <code>STATICFILES_DIRS</code> setting (e.g. <code>&lt;root&gt;/static/</code>).</li> </ul> <p>When you create a Component class with <code>css_file</code>, these will happen:</p> <ol> <li>If the file path is relative to the directory where the component's Python file is, the path is resolved.</li> <li>The file is read and its contents is set to <a href=../api#django_components.Component.css><code>Component.css</code></a>.</li> </ol> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.css><code>css</code></a> or <a href=../api#django_components.Component.css_file><code>css_file</code></a> must be defined.</p> </div> <p><strong>Example:</strong></p> <div class=highlight><span class=filename>path/to/style.css</span><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=p>.</span><span class=nc>my-class</span><span class=w> </span><span class=p>{</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=w> </span><span class=k>color</span><span class=p>:</span><span class=w> </span><span class=kc>red</span><span class=p>;</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=p>}</span>
</code></pre></div> <div class=highlight><span class=filename>path/to/component.py</span><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>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -780,15 +780,15 @@
<a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a><span class=c1># };</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.debug_highlight class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">debug_highlight</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.Component.debug_highlight 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>debug_highlight</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentDebugHighlight (django_components.extensions.debug_highlight.ComponentDebugHighlight)" href=#django_components.ComponentDebugHighlight>ComponentDebugHighlight</a></span>
</code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.defaults class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">defaults</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.Component.defaults 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>defaults</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentDefaults (django_components.extensions.defaults.ComponentDefaults)" href=#django_components.ComponentDefaults>ComponentDefaults</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/component.py#L2218 target=_blank>See source code</a></p> <p>Instance of <a href=../api#django_components.ComponentDefaults><code>ComponentDefaults</code></a> available at component render time.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.deps_strategy class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">deps_strategy</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.Component.deps_strategy 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>deps_strategy</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" DependenciesStrategy
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2237 target=_blank>See source code</a></p> <p>Instance of <a href=../api#django_components.ComponentDefaults><code>ComponentDefaults</code></a> available at component render time.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.deps_strategy class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">deps_strategy</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.Component.deps_strategy 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>deps_strategy</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" DependenciesStrategy
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</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/component.py#L2759 target=_blank>See source code</a></p> <p>Dependencies strategy defines how to handle JS and CSS dependencies of this and child components.</p> <p>Read more about <a href=../../concepts/fundamentals/rendering_components#dependencies-rendering>Dependencies rendering</a>.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>There are six strategies:</p> <ul> <li><a href=../../concepts/advanced/rendering_js_css#document><code>"document"</code></a> (default)<ul> <li>Smartly inserts JS / CSS into placeholders or into <code>&lt;head&gt;</code> and <code>&lt;body&gt;</code> tags.</li> <li>Requires the HTML to be rendered in a JS-enabled browser.</li> <li>Inserts extra script for managing fragments.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#fragment><code>"fragment"</code></a><ul> <li>A lightweight HTML fragment to be inserted into a document with AJAX.</li> <li>Fragment will fetch its own JS / CSS dependencies when inserted into the page.</li> <li>Requires the HTML to be rendered in a JS-enabled browser.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#simple><code>"simple"</code></a><ul> <li>Smartly insert JS / CSS into placeholders or into <code>&lt;head&gt;</code> and <code>&lt;body&gt;</code> tags.</li> <li>No extra script loaded.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#prepend><code>"prepend"</code></a><ul> <li>Insert JS / CSS before the rendered HTML.</li> <li>No extra script loaded.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#append><code>"append"</code></a><ul> <li>Insert JS / CSS after the rendered HTML.</li> <li>No extra script loaded.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#ignore><code>"ignore"</code></a><ul> <li>HTML is left as-is. You can still process it with a different strategy later with <a href=../api/#django_components.render_dependencies><code>render_dependencies()</code></a>.</li> <li>Used for inserting rendered HTML into other components.</li> </ul> </li> </ul> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.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> <span class=o>=</span> <span class=kc>True</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2283 target=_blank>See source code</a></p> <p>Django special property to prevent calling the instance as a function inside Django templates.</p> <p>Read more about Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#variables-and-lookups><code>do_not_call_in_templates</code></a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.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">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.Component.id 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=nb>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/component.py#L2459 target=_blank>See source code</a></p> <p>This ID is unique for every time a <a href=../api#django_components.Component.render><code>Component.render()</code></a> (or equivalent) is called (AKA "render ID").</p> <p>This is useful for logging or debugging.</p> <p>The ID is a 7-letter alphanumeric string in the format <code>cXXXXXX</code>, where <code>XXXXXX</code> is a random string of 6 alphanumeric characters (case-sensitive).</p> <p>E.g. <code>c1A2b3c</code>.</p> <p>A single render ID has a chance of collision 1 in 57 billion. However, due to birthday paradox, the chance of collision increases to 1% when approaching ~33K render IDs.</p> <p>Thus, there is currently a soft-cap of ~30K components rendered on a single page.</p> <p>If you need to expand this limit, please open an issue on GitHub.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L2778 target=_blank>See source code</a></p> <p>Dependencies strategy defines how to handle JS and CSS dependencies of this and child components.</p> <p>Read more about <a href=../../concepts/fundamentals/rendering_components#dependencies-rendering>Dependencies rendering</a>.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>There are six strategies:</p> <ul> <li><a href=../../concepts/advanced/rendering_js_css#document><code>"document"</code></a> (default)<ul> <li>Smartly inserts JS / CSS into placeholders or into <code>&lt;head&gt;</code> and <code>&lt;body&gt;</code> tags.</li> <li>Requires the HTML to be rendered in a JS-enabled browser.</li> <li>Inserts extra script for managing fragments.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#fragment><code>"fragment"</code></a><ul> <li>A lightweight HTML fragment to be inserted into a document with AJAX.</li> <li>Fragment will fetch its own JS / CSS dependencies when inserted into the page.</li> <li>Requires the HTML to be rendered in a JS-enabled browser.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#simple><code>"simple"</code></a><ul> <li>Smartly insert JS / CSS into placeholders or into <code>&lt;head&gt;</code> and <code>&lt;body&gt;</code> tags.</li> <li>No extra script loaded.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#prepend><code>"prepend"</code></a><ul> <li>Insert JS / CSS before the rendered HTML.</li> <li>No extra script loaded.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#append><code>"append"</code></a><ul> <li>Insert JS / CSS after the rendered HTML.</li> <li>No extra script loaded.</li> </ul> </li> <li><a href=../../concepts/advanced/rendering_js_css#ignore><code>"ignore"</code></a><ul> <li>HTML is left as-is. You can still process it with a different strategy later with <a href=../api/#django_components.render_dependencies><code>render_dependencies()</code></a>.</li> <li>Used for inserting rendered HTML into other components.</li> </ul> </li> </ul> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.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> <span class=o>=</span> <span class=kc>True</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2302 target=_blank>See source code</a></p> <p>Django special property to prevent calling the instance as a function inside Django templates.</p> <p>Read more about Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#variables-and-lookups><code>do_not_call_in_templates</code></a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.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">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.Component.id 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=nb>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/component.py#L2478 target=_blank>See source code</a></p> <p>This ID is unique for every time a <a href=../api#django_components.Component.render><code>Component.render()</code></a> (or equivalent) is called (AKA "render ID").</p> <p>This is useful for logging or debugging.</p> <p>The ID is a 7-letter alphanumeric string in the format <code>cXXXXXX</code>, where <code>XXXXXX</code> is a random string of 6 alphanumeric characters (case-sensitive).</p> <p>E.g. <code>c1A2b3c</code>.</p> <p>A single render ID has a chance of collision 1 in 57 billion. However, due to birthday paradox, the chance of collision increases to 1% when approaching ~33K render IDs.</p> <p>Thus, there is currently a soft-cap of ~30K components rendered on a single page.</p> <p>If you need to expand this limit, please open an issue on GitHub.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>&quot;Rendering &#39;</span><span class=si>{</span><span class=bp>self</span><span class=o>.</span><span class=n>id</span><span class=si>}</span><span class=s2>&#39;&quot;</span><span class=p>)</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
@ -800,7 +800,7 @@
dataclass
(django_components.component.ComponentInput)" href=#django_components.ComponentInput>ComponentInput</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/component.py#L2491 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1.</p> <p>Input holds the data that were passed to the current component at render time.</p> <p>This includes:</p> <ul> <li><a href=../api/#django_components.ComponentInput.args><code>args</code></a> - List of positional arguments</li> <li><a href=../api/#django_components.ComponentInput.kwargs><code>kwargs</code></a> - Dictionary of keyword arguments</li> <li><a href=../api/#django_components.ComponentInput.slots><code>slots</code></a> - Dictionary of slots. Values are normalized to <a href=../api/#django_components.Slot><code>Slot</code></a> instances</li> <li><a href=../api/#django_components.ComponentInput.context><code>context</code></a> - <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> object that should be used to render the component</li> <li>And other kwargs passed to <a href=../api/#django_components.Component.render><code>Component.render()</code></a> like <code>deps_strategy</code></li> </ul> <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>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</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/component.py#L2510 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1.</p> <p>Input holds the data that were passed to the current component at render time.</p> <p>This includes:</p> <ul> <li><a href=../api/#django_components.ComponentInput.args><code>args</code></a> - List of positional arguments</li> <li><a href=../api/#django_components.ComponentInput.kwargs><code>kwargs</code></a> - Dictionary of keyword arguments</li> <li><a href=../api/#django_components.ComponentInput.slots><code>slots</code></a> - Dictionary of slots. Values are normalized to <a href=../api/#django_components.Slot><code>Slot</code></a> instances</li> <li><a href=../api/#django_components.ComponentInput.context><code>context</code></a> - <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> object that should be used to render the component</li> <li>And other kwargs passed to <a href=../api/#django_components.Component.render><code>Component.render()</code></a> like <code>deps_strategy</code></li> </ul> <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>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=c1># Access component&#39;s inputs, slots and context</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>args</span> <span class=o>==</span> <span class=p>[</span><span class=mi>123</span><span class=p>,</span> <span class=s2>&quot;str&quot;</span><span class=p>]</span>
@ -814,8 +814,8 @@
<a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a> <span class=n>slots</span><span class=o>=</span><span class=p>{</span><span class=s2>&quot;footer&quot;</span><span class=p>:</span> <span class=s2>&quot;MY_SLOT&quot;</span><span class=p>},</span>
<a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.is_filled class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">is_filled</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.Component.is_filled 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>is_filled</span><span class=p>:</span> <span class=n><span title=django_components.slots.SlotIsFilled>SlotIsFilled</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/component.py#L2866 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <a href=../api/#django_components.Component.slots><code>Component.slots</code></a> instead. Note that <code>Component.slots</code> no longer escapes the slot names.</p> <p>Dictionary describing which slots have or have not been filled.</p> <p>This attribute is available for use only within:</p> <p>You can also access this variable from within the template as</p> <p><a href=../template_vars#django_components.component.ComponentVars.is_filled><code>{{ component_vars.is_filled.slot_name }}</code></a></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.js class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">js</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.Component.js 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>js</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/component.py#L1209 target=_blank>See source code</a></p> <p>Main JS associated with this component inlined as string.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.js><code>js</code></a> or <a href=../api#django_components.Component.js_file><code>js_file</code></a> must be defined.</p> </div> <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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L2885 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <a href=../api/#django_components.Component.slots><code>Component.slots</code></a> instead. Note that <code>Component.slots</code> no longer escapes the slot names.</p> <p>Dictionary describing which slots have or have not been filled.</p> <p>This attribute is available for use only within:</p> <p>You can also access this variable from within the template as</p> <p><a href=../template_vars#django_components.component.ComponentVars.is_filled><code>{{ component_vars.is_filled.slot_name }}</code></a></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.js class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">js</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.Component.js 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>js</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/component.py#L1228 target=_blank>See source code</a></p> <p>Main JS associated with this component inlined as string.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.js><code>js</code></a> or <a href=../api#django_components.Component.js_file><code>js_file</code></a> must be defined.</p> </div> <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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=n>js</span> <span class=o>=</span> <span class=s2>&quot;console.log(&#39;Hello, World!&#39;);&quot;</span>
</code></pre></div> <p><strong>Syntax highlighting</strong></p> <p>When using the inlined template, you can enable syntax highlighting with <code>django_components.types.js</code>.</p> <p>Learn more about <a href=../../concepts/fundamentals/single_file_components/#syntax-highlighting>syntax highlighting</a>.</p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-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>Component</span><span class=p>,</span> <span class=n>types</span>
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>
@ -824,14 +824,14 @@
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a><span class=w> </span><span class=nx>console</span><span class=p>.</span><span class=nx>log</span><span class=p>(</span><span class=s1>&#39;Hello, World!&#39;</span><span class=p>);</span>
<a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a><span class=w> </span><span class=sd>&#39;&#39;&#39;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.js_file class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">js_file</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.js_file 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>js_file</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/component.py#L1242 target=_blank>See source code</a></p> <p>Main JS associated with this component as file path.</p> <p>The filepath must be either:</p> <ul> <li>Relative to the directory where the Component's Python file is defined.</li> <li>Relative to one of the component directories, as set by <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>&lt;root&gt;/components/</code>).</li> <li>Relative to the staticfiles directories, as set by Django's <code>STATICFILES_DIRS</code> setting (e.g. <code>&lt;root&gt;/static/</code>).</li> </ul> <p>When you create a Component class with <code>js_file</code>, these will happen:</p> <ol> <li>If the file path is relative to the directory where the component's Python file is, the path is resolved.</li> <li>The file is read and its contents is set to <a href=../api#django_components.Component.js><code>Component.js</code></a>.</li> </ol> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.js><code>js</code></a> or <a href=../api#django_components.Component.js_file><code>js_file</code></a> must be defined.</p> </div> <p><strong>Example:</strong></p> <div class=highlight><span class=filename>path/to/script.js</span><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nx>console</span><span class=p>.</span><span class=nx>log</span><span class=p>(</span><span class=s1>&#39;Hello, World!&#39;</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/component.py#L1261 target=_blank>See source code</a></p> <p>Main JS associated with this component as file path.</p> <p>The filepath must be either:</p> <ul> <li>Relative to the directory where the Component's Python file is defined.</li> <li>Relative to one of the component directories, as set by <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>&lt;root&gt;/components/</code>).</li> <li>Relative to the staticfiles directories, as set by Django's <code>STATICFILES_DIRS</code> setting (e.g. <code>&lt;root&gt;/static/</code>).</li> </ul> <p>When you create a Component class with <code>js_file</code>, these will happen:</p> <ol> <li>If the file path is relative to the directory where the component's Python file is, the path is resolved.</li> <li>The file is read and its contents is set to <a href=../api#django_components.Component.js><code>Component.js</code></a>.</li> </ol> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.js><code>js</code></a> or <a href=../api#django_components.Component.js_file><code>js_file</code></a> must be defined.</p> </div> <p><strong>Example:</strong></p> <div class=highlight><span class=filename>path/to/script.js</span><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nx>console</span><span class=p>.</span><span class=nx>log</span><span class=p>(</span><span class=s1>&#39;Hello, World!&#39;</span><span class=p>);</span>
</code></pre></div> <div class=highlight><span class=filename>path/to/component.py</span><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>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a> <span class=n>js_file</span> <span class=o>=</span> <span class=s2>&quot;path/to/script.js&quot;</span>
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>
<a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><span class=nb>print</span><span class=p>(</span><span class=n>MyComponent</span><span class=o>.</span><span class=n>js</span><span class=p>)</span>
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a><span class=c1># Output: console.log(&#39;Hello, World!&#39;);</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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.Component.kwargs 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>kwargs</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/component.py#L2596 target=_blank>See source code</a></p> <p>Keyword arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p><code>kwargs</code> has the same behavior as the <code>kwargs</code> argument of <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>:</p> <ul> <li>If you defined the <a href=../api/#django_components.Component.Kwargs><code>Component.Kwargs</code></a> class, then the <code>kwargs</code> property will return an instance of that <code>Kwargs</code> class.</li> <li>Otherwise, <code>kwargs</code> will be a plain dict.</li> </ul> <p><strong>Example:</strong></p> <p>With <code>Kwargs</code> class:</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>Component</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2615 target=_blank>See source code</a></p> <p>Keyword arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p><code>kwargs</code> has the same behavior as the <code>kwargs</code> argument of <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>:</p> <ul> <li>If you defined the <a href=../api/#django_components.Component.Kwargs><code>Component.Kwargs</code></a> class, then the <code>kwargs</code> property will return an instance of that <code>Kwargs</code> class.</li> <li>Otherwise, <code>kwargs</code> will be a plain dict.</li> </ul> <p><strong>Example:</strong></p> <p>With <code>Kwargs</code> class:</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>Component</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>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>class</span><span class=w> </span><span class=nc>Kwargs</span><span class=p>(</span><span class=n>NamedTuple</span><span class=p>):</span>
@ -855,7 +855,7 @@
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;page&quot;</span><span class=p>]</span> <span class=o>==</span> <span class=mi>123</span>
<a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;per_page&quot;</span><span class=p>]</span> <span class=o>==</span> <span class=mi>10</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.media class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">media</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.Component.media 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>media</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.forms.widgets.Media>Media</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/component.py#L1784 target=_blank>See source code</a></p> <p>Normalized definition of JS and CSS media files associated with this component. <code>None</code> if <a href=../api#django_components.Component.Media><code>Component.Media</code></a> is not defined.</p> <p>This field is generated from <a href=../api#django_components.Component.media_class><code>Component.media_class</code></a>.</p> <p>Read more on <a href=../../concepts/fundamentals/secondary_js_css_files/#accessing-media-files>Accessing component's Media JS / CSS</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L1803 target=_blank>See source code</a></p> <p>Normalized definition of JS and CSS media files associated with this component. <code>None</code> if <a href=../api#django_components.Component.Media><code>Component.Media</code></a> is not defined.</p> <p>This field is generated from <a href=../api#django_components.Component.media_class><code>Component.media_class</code></a>.</p> <p>Read more on <a href=../../concepts/fundamentals/secondary_js_css_files/#accessing-media-files>Accessing component's Media JS / CSS</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>class</span><span class=w> </span><span class=nc>Media</span><span class=p>:</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>js</span> <span class=o>=</span> <span class=s2>&quot;path/to/script.js&quot;</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=n>css</span> <span class=o>=</span> <span class=s2>&quot;path/to/style.css&quot;</span>
@ -865,14 +865,14 @@
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=c1># &lt;script src=&quot;/static/path/to/script.js&quot;&gt;&lt;/script&gt;</span>
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=c1># &lt;link href=&quot;/static/path/to/style.css&quot; media=&quot;all&quot; rel=&quot;stylesheet&quot;&gt;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.media_class class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">media_class</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.media_class 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>media_class</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><span title=django.forms.widgets.Media>Media</span></span><span class=p>]</span> <span class=o>=</span> <span class=n><span title=django.forms.widgets.Media>Media</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/component.py#L1808 target=_blank>See source code</a></p> <p>Set the <a href=https://docs.djangoproject.com/en/5.2/topics/forms/media/#assets-as-a-static-definition>Media class</a> that will be instantiated with the JS and CSS media files from <a href=../api#django_components.Component.Media><code>Component.Media</code></a>.</p> <p>This is useful when you want to customize the behavior of the media files, like customizing how the JS or CSS files are rendered into <code>&lt;script&gt;</code> or <code>&lt;link&gt;</code> HTML tags.</p> <p>Read more in <a href=../../concepts/fundamentals/secondary_js_css_files/#media-class>Media class</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</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/component.py#L1827 target=_blank>See source code</a></p> <p>Set the <a href=https://docs.djangoproject.com/en/5.2/topics/forms/media/#assets-as-a-static-definition>Media class</a> that will be instantiated with the JS and CSS media files from <a href=../api#django_components.Component.Media><code>Component.Media</code></a>.</p> <p>This is useful when you want to customize the behavior of the media files, like customizing how the JS or CSS files are rendered into <code>&lt;script&gt;</code> or <code>&lt;link&gt;</code> HTML tags.</p> <p>Read more in <a href=../../concepts/fundamentals/secondary_js_css_files/#media-class>Media class</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>class</span><span class=w> </span><span class=nc>Media</span><span class=p>:</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>js</span> <span class=o>=</span> <span class=s2>&quot;path/to/script.js&quot;</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=n>css</span> <span class=o>=</span> <span class=s2>&quot;path/to/style.css&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>media_class</span> <span class=o>=</span> <span class=n>MyMediaClass</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.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">name</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.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>name</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/component.py#L2397 target=_blank>See source code</a></p> <p>The name of the component.</p> <p>If the component was registered, this will be the name under which the component was registered in the <a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a>.</p> <p>Otherwise, this will be the name of the class.</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;my_component&quot;</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/component.py#L2416 target=_blank>See source code</a></p> <p>The name of the component.</p> <p>If the component was registered, this will be the name under which the component was registered in the <a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a>.</p> <p>Otherwise, this will be the name of the class.</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;my_component&quot;</span><span class=p>)</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=k>class</span><span class=w> </span><span class=nc>RegisteredComponent</span><span class=p>(</span><span class=n>Component</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>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</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=p>{</span>
@ -885,7 +885,7 @@
<a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a> <span class=s2>&quot;name&quot;</span><span class=p>:</span> <span class=bp>self</span><span class=o>.</span><span class=n>name</span><span class=p>,</span> <span class=c1># &quot;UnregisteredComponent&quot;</span>
<a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a> <span class=p>}</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.node class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">node</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.Component.node 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>node</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-internal" title=" ComponentNode (django_components.component.ComponentNode)" href=#django_components.ComponentNode>ComponentNode</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/component.py#L2820 target=_blank>See source code</a></p> <p>The <a href=../api/#django_components.ComponentNode><code>ComponentNode</code></a> instance that was used to render the component.</p> <p>This will be set only if the component was rendered with the <a href=../template_tags#component><code>{% component %}</code></a> tag.</p> <p>Accessing the <a href=../api/#django_components.ComponentNode><code>ComponentNode</code></a> is mostly useful for extensions, which can modify their behaviour based on the source of the Component.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L2839 target=_blank>See source code</a></p> <p>The <a href=../api/#django_components.ComponentNode><code>ComponentNode</code></a> instance that was used to render the component.</p> <p>This will be set only if the component was rendered with the <a href=../template_tags#component><code>{% component %}</code></a> tag.</p> <p>Accessing the <a href=../api/#django_components.ComponentNode><code>ComponentNode</code></a> is mostly useful for extensions, which can modify their behaviour based on the source of the Component.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>context</span><span class=p>,</span> <span class=n>template</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>if</span> <span class=bp>self</span><span class=o>.</span><span class=n>node</span> <span class=ow>is</span> <span class=ow>not</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>node</span><span class=o>.</span><span class=n>name</span> <span class=o>==</span> <span class=s2>&quot;my_component&quot;</span>
@ -902,19 +902,19 @@
<a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a> <span class=k>if</span> <span class=bp>self</span><span class=o>.</span><span class=n>node</span> <span class=ow>is</span> <span class=ow>not</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-1-12 name=__codelineno-1-12 href=#__codelineno-1-12></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>node</span><span class=o>.</span><span class=n>template_component</span> <span class=o>==</span> <span class=n>Parent</span>
</code></pre></div> <div class="admonition info"> <p class=admonition-title>Info</p> <p><code>Component.node</code> is <code>None</code> if the component is created by <a href=../api/#django_components.Component.render><code>Component.render()</code></a> (but you can pass in the <code>node</code> kwarg yourself).</p> </div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.outer_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">outer_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.Component.outer_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>outer_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><span title=django.template.context.Context>Context</span></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/component.py#L2793 target=_blank>See source code</a></p> <p>When a component is rendered with the <a href=../template_tags#component><code>{% component %}</code></a> tag, this is the Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> object that was used just outside of the component.</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>with</span> <span class=nv>abc</span><span class=o>=</span><span class=m>123</span> <span class=cp>%}</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2812 target=_blank>See source code</a></p> <p>When a component is rendered with the <a href=../template_tags#component><code>{% component %}</code></a> tag, this is the Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> object that was used just outside of the component.</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>with</span> <span class=nv>abc</span><span class=o>=</span><span class=m>123</span> <span class=cp>%}</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=x> </span><span class=cp>{{</span> <span class=nv>abc</span> <span class=cp>}}</span><span class=x> </span><span class=c>{# &lt;--- This is in outer context #}</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=x> </span><span class=cp>{%</span> <span class=k>component</span> <span class=s2>&quot;my_component&quot;</span> <span class=o>/</span> <span class=cp>%}</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=cp>{%</span> <span class=k>endwith</span> <span class=cp>%}</span>
</code></pre></div> <p>This is relevant when your components are isolated, for example when using the <a href=../settings#django_components.app_settings.ComponentsSettings.context_behavior>"isolated"</a> context behavior mode or when using the <code>only</code> flag.</p> <p>When components are isolated, each component has its own instance of Context, so <code>outer_context</code> is different from the <code>context</code> argument.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.raw_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">raw_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.Component.raw_args 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>raw_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><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><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/component.py#L2574 target=_blank>See source code</a></p> <p>Positional arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Unlike <a href=../api/#django_components.Component.args><code>Component.args</code></a>, this attribute is not typed and will remain as plain list even if you define the <a href=../api/#django_components.Component.Args><code>Component.Args</code></a> class.</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>Component</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2593 target=_blank>See source code</a></p> <p>Positional arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Unlike <a href=../api/#django_components.Component.args><code>Component.args</code></a>, this attribute is not typed and will remain as plain list even if you define the <a href=../api/#django_components.Component.Args><code>Component.Args</code></a> class.</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>Component</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>Table</span><span class=p>(</span><span class=n>Component</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_render_before</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n>Context</span><span class=p>,</span> <span class=n>template</span><span class=p>:</span> <span class=n>Optional</span><span class=p>[</span><span class=n>Template</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=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>raw_args</span><span class=p>[</span><span class=mi>0</span><span class=p>]</span> <span class=o>==</span> <span class=mi>123</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>raw_args</span><span class=p>[</span><span class=mi>1</span><span class=p>]</span> <span class=o>==</span> <span class=mi>10</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.raw_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">raw_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.Component.raw_kwargs 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>raw_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><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=typing.Any href=https://docs.python.org/3.12/library/typing.html#typing.Any>Any</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/component.py#L2645 target=_blank>See source code</a></p> <p>Keyword arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Unlike <a href=../api/#django_components.Component.kwargs><code>Component.kwargs</code></a>, this attribute is not typed and will remain as plain dict even if you define the <a href=../api/#django_components.Component.Kwargs><code>Component.Kwargs</code></a> class.</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>Component</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2664 target=_blank>See source code</a></p> <p>Keyword arguments passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Unlike <a href=../api/#django_components.Component.kwargs><code>Component.kwargs</code></a>, this attribute is not typed and will remain as plain dict even if you define the <a href=../api/#django_components.Component.Kwargs><code>Component.Kwargs</code></a> class.</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>Component</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>Table</span><span class=p>(</span><span class=n>Component</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_render_before</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n>Context</span><span class=p>,</span> <span class=n>template</span><span class=p>:</span> <span class=n>Optional</span><span class=p>[</span><span class=n>Template</span><span class=p>])</span> <span class=o>-&gt;</span> <span class=kc>None</span><span class=p>:</span>
@ -926,14 +926,14 @@
dataclass
(django_components.slots.Slot)" href=#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/component.py#L2716 target=_blank>See source code</a></p> <p>Slots passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Unlike <a href=../api/#django_components.Component.slots><code>Component.slots</code></a>, this attribute is not typed and will remain as plain dict even if you define the <a href=../api/#django_components.Component.Slots><code>Component.Slots</code></a> class.</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>Component</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2735 target=_blank>See source code</a></p> <p>Slots passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Unlike <a href=../api/#django_components.Component.slots><code>Component.slots</code></a>, this attribute is not typed and will remain as plain dict even if you define the <a href=../api/#django_components.Component.Slots><code>Component.Slots</code></a> class.</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>Component</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>Table</span><span class=p>(</span><span class=n>Component</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_render_before</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n>Context</span><span class=p>,</span> <span class=n>template</span><span class=p>:</span> <span class=n>Optional</span><span class=p>[</span><span class=n>Template</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=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>raw_slots</span><span class=p>[</span><span class=s2>&quot;header&quot;</span><span class=p>]</span> <span class=o>==</span> <span class=s2>&quot;MY_HEADER&quot;</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=k>assert</span> <span class=bp>self</span><span class=o>.</span><span class=n>raw_slots</span><span class=p>[</span><span class=s2>&quot;footer&quot;</span><span class=p>]</span> <span class=o>==</span> <span class=s2>&quot;FOOTER: &quot;</span> <span class=o>+</span> <span class=n>ctx</span><span class=o>.</span><span class=n>data</span><span class=p>[</span><span class=s2>&quot;user_id&quot;</span><span class=p>]</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.registered_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">registered_name</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.Component.registered_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>registered_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>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2424 target=_blank>See source code</a></p> <p>If the component was rendered with the <a href=../template_tags#component><code>{% component %}</code></a> template tag, this will be the name under which the component was registered in the <a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a>.</p> <p>Otherwise, this will be <code>None</code>.</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;my_component&quot;</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/component.py#L2443 target=_blank>See source code</a></p> <p>If the component was rendered with the <a href=../template_tags#component><code>{% component %}</code></a> template tag, this will be the name under which the component was registered in the <a href=../api#django_components.ComponentRegistry><code>ComponentRegistry</code></a>.</p> <p>Otherwise, this will be <code>None</code>.</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;my_component&quot;</span><span class=p>)</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=k>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>template</span> <span class=o>=</span> <span class=s2>&quot;{{ name }}&quot;</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
@ -945,15 +945,15 @@
</code></pre></div> <p>And <code>None</code> when rendered in Python:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=n>MyComponent</span><span class=o>.</span><span class=n>render</span><span class=p>()</span>
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=c1># None</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.registry class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">registry</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.Component.registry 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>registry</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentRegistry (django_components.component_registry.ComponentRegistry)" href=#django_components.ComponentRegistry>ComponentRegistry</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/component.py#L2814 target=_blank>See source code</a></p> <p>The <a href=../api/#django_components.ComponentRegistry><code>ComponentRegistry</code></a> instance that was used to render the component.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.request class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">request</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.Component.request 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>request</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.http.HttpRequest href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpRequest>HttpRequest</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/component.py#L2881 target=_blank>See source code</a></p> <p><a href=https://docs.djangoproject.com/en/5.2/ref/request-response/#django.http.HttpRequest>HTTPRequest</a> object passed to this component.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L2833 target=_blank>See source code</a></p> <p>The <a href=../api/#django_components.ComponentRegistry><code>ComponentRegistry</code></a> instance that was used to render the component.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.request class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">request</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.Component.request 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>request</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.http.HttpRequest href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpRequest>HttpRequest</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/component.py#L2900 target=_blank>See source code</a></p> <p><a href=https://docs.djangoproject.com/en/5.2/ref/request-response/#django.http.HttpRequest>HTTPRequest</a> object passed to this component.</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>user_id</span> <span class=o>=</span> <span class=bp>self</span><span class=o>.</span><span class=n>request</span><span class=o>.</span><span class=n>GET</span><span class=p>[</span><span class=s1>&#39;user_id&#39;</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=p>{</span>
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=s1>&#39;user_id&#39;</span><span class=p>:</span> <span class=n>user_id</span><span class=p>,</span>
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=p>}</span>
</code></pre></div> <p><strong>Passing <code>request</code> to a component:</strong></p> <p>In regular Django templates, you have to use <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.RequestContext><code>RequestContext</code></a> to pass the <code>HttpRequest</code> object to the template.</p> <p>With Components, you can either use <code>RequestContext</code>, or pass the <code>request</code> object explicitly via <a href=../api#django_components.Component.render><code>Component.render()</code></a> and <a href=../api#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>.</p> <p>When a component is nested in another, the child component uses parent's <code>request</code> object.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.response_class class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">response_class</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.response_class 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>response_class</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-external" title=django.http.HttpResponse href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpResponse>HttpResponse</a></span><span class=p>]</span> <span class=o>=</span> <span class=n><a class="autorefs autorefs-external" title=django.http.HttpResponse href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpResponse>HttpResponse</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/component.py#L1875 target=_blank>See source code</a></p> <p>This attribute configures what class is used to generate response from <a href=../api/#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>.</p> <p>The response class should accept a string as the first argument.</p> <p>Defaults to <a href=https://docs.djangoproject.com/en/5.2/ref/request-response/#httpresponse-objects><code>django.http.HttpResponse</code></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.http</span><span class=w> </span><span class=kn>import</span> <span class=n>HttpResponse</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L1894 target=_blank>See source code</a></p> <p>This attribute configures what class is used to generate response from <a href=../api/#django_components.Component.render_to_response><code>Component.render_to_response()</code></a>.</p> <p>The response class should accept a string as the first argument.</p> <p>Defaults to <a href=https://docs.djangoproject.com/en/5.2/ref/request-response/#httpresponse-objects><code>django.http.HttpResponse</code></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.http</span><span class=w> </span><span class=kn>import</span> <span class=n>HttpResponse</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>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Component</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>MyHttpResponse</span><span class=p>(</span><span class=n>HttpResponse</span><span class=p>):</span>
@ -965,7 +965,7 @@
<a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a><span class=n>response</span> <span class=o>=</span> <span class=n>MyComponent</span><span class=o>.</span><span class=n>render_to_response</span><span class=p>()</span>
<a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><span class=k>assert</span> <span class=nb>isinstance</span><span class=p>(</span><span class=n>response</span><span class=p>,</span> <span class=n>MyHttpResponse</span><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.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.Component.slots 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>slots</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/component.py#L2667 target=_blank>See source code</a></p> <p>Slots passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p><code>slots</code> has the same behavior as the <code>slots</code> argument of <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>:</p> <ul> <li>If you defined the <a href=../api/#django_components.Component.Slots><code>Component.Slots</code></a> class, then the <code>slots</code> property will return an instance of that class.</li> <li>Otherwise, <code>slots</code> will be a plain dict.</li> </ul> <p><strong>Example:</strong></p> <p>With <code>Slots</code> class:</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>Component</span><span class=p>,</span> <span class=n>Slot</span><span class=p>,</span> <span class=n>SlotInput</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L2686 target=_blank>See source code</a></p> <p>Slots passed to the component.</p> <p>This is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p><code>slots</code> has the same behavior as the <code>slots</code> argument of <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>:</p> <ul> <li>If you defined the <a href=../api/#django_components.Component.Slots><code>Component.Slots</code></a> class, then the <code>slots</code> property will return an instance of that class.</li> <li>Otherwise, <code>slots</code> will be a plain dict.</li> </ul> <p><strong>Example:</strong></p> <p>With <code>Slots</code> class:</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>Component</span><span class=p>,</span> <span class=n>Slot</span><span class=p>,</span> <span class=n>SlotInput</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>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>class</span><span class=w> </span><span class=nc>Slots</span><span class=p>(</span><span class=n>NamedTuple</span><span class=p>):</span>
@ -989,7 +989,7 @@
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=k>assert</span> <span class=nb>isinstance</span><span class=p>(</span><span class=bp>self</span><span class=o>.</span><span class=n>slots</span><span class=p>[</span><span class=s2>&quot;header&quot;</span><span class=p>],</span> <span class=n>Slot</span><span class=p>)</span>
<a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a> <span class=k>assert</span> <span class=nb>isinstance</span><span class=p>(</span><span class=bp>self</span><span class=o>.</span><span class=n>slots</span><span class=p>[</span><span class=s2>&quot;footer&quot;</span><span class=p>],</span> <span class=n>Slot</span><span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.template class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">template</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.Component.template 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>template</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/component.py#L869 target=_blank>See source code</a></p> <p>Inlined Django template (as a plain string) associated with this component.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.template><code>template</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name()</code></a>, or <a href=../api#django_components.Component.get_template><code>get_template()</code></a> must be defined.</p> </div> <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>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</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/component.py#L888 target=_blank>See source code</a></p> <p>Inlined Django template (as a plain string) associated with this component.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.template><code>template</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name()</code></a>, or <a href=../api#django_components.Component.get_template><code>get_template()</code></a> must be defined.</p> </div> <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>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=n>template</span> <span class=o>=</span> <span class=s1>&#39;&#39;&#39;</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=s1> &lt;div&gt;</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=s1> {{ my_var }}</span>
@ -1004,7 +1004,7 @@
<a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a> <span class=p>&lt;/</span><span class=nt>div</span><span class=p>&gt;</span>
<a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a> <span class=sd>&#39;&#39;&#39;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.template_file class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">template_file</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.template_file 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>template_file</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/component.py#L757 target=_blank>See source code</a></p> <p>Filepath to the Django template associated with this component.</p> <p>The filepath must be either:</p> <ul> <li>Relative to the directory where the Component's Python file is defined.</li> <li>Relative to one of the component directories, as set by <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>&lt;root&gt;/components/</code>).</li> <li>Relative to the template directories, as set by Django's <code>TEMPLATES</code> setting (e.g. <code>&lt;root&gt;/templates/</code>).</li> </ul> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name</code></a>, <a href=../api#django_components.Component.template><code>template</code></a> or <a href=../api#django_components.Component.get_template><code>get_template</code></a> must be defined.</p> </div> <p><strong>Example:</strong></p> <p>Assuming this project layout:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>|- components/
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L776 target=_blank>See source code</a></p> <p>Filepath to the Django template associated with this component.</p> <p>The filepath must be either:</p> <ul> <li>Relative to the directory where the Component's Python file is defined.</li> <li>Relative to one of the component directories, as set by <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>&lt;root&gt;/components/</code>).</li> <li>Relative to the template directories, as set by Django's <code>TEMPLATES</code> setting (e.g. <code>&lt;root&gt;/templates/</code>).</li> </ul> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name</code></a>, <a href=../api#django_components.Component.template><code>template</code></a> or <a href=../api#django_components.Component.get_template><code>get_template</code></a> must be defined.</p> </div> <p><strong>Example:</strong></p> <p>Assuming this project layout:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>|- components/
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> |- table/
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> |- table.html
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> |- table.css
@ -1014,10 +1014,10 @@
</code></pre></div> <p>Or relative to one of the directories in <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> or <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (<code>components/</code>):</p> <div class=highlight><pre><span></span><code><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=n>template_file</span> <span class=o>=</span> <span class=s2>&quot;table/table.html&quot;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.template_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">template_name</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> </span> <a href=#django_components.Component.template_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>template_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>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L811 target=_blank>See source code</a></p> <p>Alias for <a href=../api#django_components.Component.template_file><code>template_file</code></a>.</p> <p>For historical reasons, django-components used <code>template_name</code> to align with Django's <a href=https://docs.djangoproject.com/en/5.2/ref/class-based-views/base/#django.views.generic.base.TemplateView>TemplateView</a>.</p> <p><code>template_file</code> was introduced to align with <a href=../api#django_components.Component.js><code>js</code></a>/<a href=../api#django_components.Component.js_file><code>js_file</code></a> and <a href=../api#django_components.Component.css><code>css</code></a>/<a href=../api#django_components.Component.css_file><code>css_file</code></a>.</p> <p>Setting and accessing this attribute is proxied to <a href=../api#django_components.Component.template_file><code>template_file</code></a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.view class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">view</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.Component.view 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>view</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentView (django_components.extensions.view.ComponentView)" href=#django_components.ComponentView>ComponentView</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/component.py#L2244 target=_blank>See source code</a></p> <p>Instance of <a href=../api#django_components.ComponentView><code>ComponentView</code></a> available at component render time.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.as_view class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">as_view</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> </span> <a href=#django_components.Component.as_view 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>as_view</span><span class=p>(</span><span class=o>**</span><span class=n>initkwargs</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><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><span title=django_components.extensions.view.ViewFn>ViewFn</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/component.py#L3011 target=_blank>See source code</a></p> <p>Shortcut for calling <code>Component.View.as_view</code> and passing component instance to it.</p> <p>Read more on <a href=../../concepts/fundamentals/component_views_urls>Component views and URLs</a>.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_context_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">get_context_data</span> <a href=#django_components.Component.get_context_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>get_context_data</span><span class=p>(</span><span class=o>*</span><span class=n>_args</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><span class=p>,</span> <span class=o>**</span><span class=n>_kwargs</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><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" title=typing.Mapping href=https://docs.python.org/3.12/library/typing.html#typing.Mapping>Mapping</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/component.py#L960 target=_blank>See source code</a></p> <p>DEPRECATED: Use <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a> instead. Will be removed in v2.</p> <p>Use this method to define variables that will be available in the template.</p> <p>Receives the args and kwargs as they were passed to the Component.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>Template variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L830 target=_blank>See source code</a></p> <p>Alias for <a href=../api#django_components.Component.template_file><code>template_file</code></a>.</p> <p>For historical reasons, django-components used <code>template_name</code> to align with Django's <a href=https://docs.djangoproject.com/en/5.2/ref/class-based-views/base/#django.views.generic.base.TemplateView>TemplateView</a>.</p> <p><code>template_file</code> was introduced to align with <a href=../api#django_components.Component.js><code>js</code></a>/<a href=../api#django_components.Component.js_file><code>js_file</code></a> and <a href=../api#django_components.Component.css><code>css</code></a>/<a href=../api#django_components.Component.css_file><code>css_file</code></a>.</p> <p>Setting and accessing this attribute is proxied to <a href=../api#django_components.Component.template_file><code>template_file</code></a>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.Component.view class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">view</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.Component.view 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>view</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentView (django_components.extensions.view.ComponentView)" href=#django_components.ComponentView>ComponentView</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/component.py#L2263 target=_blank>See source code</a></p> <p>Instance of <a href=../api#django_components.ComponentView><code>ComponentView</code></a> available at component render time.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.as_view class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">as_view</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> </span> <a href=#django_components.Component.as_view 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>as_view</span><span class=p>(</span><span class=o>**</span><span class=n>initkwargs</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><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><span title=django_components.extensions.view.ViewFn>ViewFn</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/component.py#L3030 target=_blank>See source code</a></p> <p>Shortcut for calling <code>Component.View.as_view</code> and passing component instance to it.</p> <p>Read more on <a href=../../concepts/fundamentals/component_views_urls>Component views and URLs</a>.</p> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_context_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">get_context_data</span> <a href=#django_components.Component.get_context_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>get_context_data</span><span class=p>(</span><span class=o>*</span><span class=n>_args</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><span class=p>,</span> <span class=o>**</span><span class=n>_kwargs</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><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" title=typing.Mapping href=https://docs.python.org/3.12/library/typing.html#typing.Mapping>Mapping</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/component.py#L979 target=_blank>See source code</a></p> <p>DEPRECATED: Use <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a> instead. Will be removed in v2.</p> <p>Use this method to define variables that will be available in the template.</p> <p>Receives the args and kwargs as they were passed to the Component.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>Template variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_context_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>name</span><span class=p>,</span> <span class=o>*</span><span class=n>args</span><span class=p>,</span> <span class=o>**</span><span class=n>kwargs</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>return</span> <span class=p>{</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;name&quot;</span><span class=p>:</span> <span class=n>name</span><span class=p>,</span>
@ -1028,7 +1028,7 @@
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a>
<a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a><span class=n>MyComponent</span><span class=o>.</span><span class=n>render</span><span class=p>(</span><span class=n>name</span><span class=o>=</span><span class=s2>&quot;World&quot;</span><span class=p>)</span>
</code></pre></div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p><code>get_context_data()</code> and <a href=../api#django_components.Component.get_template_data><code>get_template_data()</code></a> are mutually exclusive.</p> <p>If both methods return non-empty dictionaries, an error will be raised.</p> </div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_css_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">get_css_data</span> <a href=#django_components.Component.get_css_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>get_css_data</span><span class=p>(</span><span class=n>args</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><span class=p>,</span> <span class=n>kwargs</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><span class=p>,</span> <span class=n>slots</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><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</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" title=typing.Mapping href=https://docs.python.org/3.12/library/typing.html#typing.Mapping>Mapping</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/component.py#L1576 target=_blank>See source code</a></p> <p>Use this method to define variables that will be available from within the component's CSS code.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>The data returned from this method will be serialized to string.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>CSS variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L1595 target=_blank>See source code</a></p> <p>Use this method to define variables that will be available from within the component's CSS code.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>The data returned from this method will be serialized to string.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>CSS variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_css_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>return</span> <span class=p>{</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;color&quot;</span><span class=p>:</span> <span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;color&quot;</span><span class=p>],</span>
@ -1083,7 +1083,7 @@
<a id=__codelineno-3-14 name=__codelineno-3-14 href=#__codelineno-3-14></a> <span class=n>size</span><span class=o>=</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;size&quot;</span><span class=p>],</span>
<a id=__codelineno-3-15 name=__codelineno-3-15 href=#__codelineno-3-15></a> <span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_js_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">get_js_data</span> <a href=#django_components.Component.get_js_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>get_js_data</span><span class=p>(</span><span class=n>args</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><span class=p>,</span> <span class=n>kwargs</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><span class=p>,</span> <span class=n>slots</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><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</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" title=typing.Mapping href=https://docs.python.org/3.12/library/typing.html#typing.Mapping>Mapping</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/component.py#L1282 target=_blank>See source code</a></p> <p>Use this method to define variables that will be available from within the component's JavaScript code.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>The data returned from this method will be serialized to JSON.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>JavaScript variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L1301 target=_blank>See source code</a></p> <p>Use this method to define variables that will be available from within the component's JavaScript code.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>The data returned from this method will be serialized to JSON.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>JavaScript variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_js_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>return</span> <span class=p>{</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;name&quot;</span><span class=p>:</span> <span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;name&quot;</span><span class=p>],</span>
@ -1140,8 +1140,8 @@
<a id=__codelineno-3-14 name=__codelineno-3-14 href=#__codelineno-3-14></a> <span class=n>size</span><span class=o>=</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;size&quot;</span><span class=p>],</span>
<a id=__codelineno-3-15 name=__codelineno-3-15 href=#__codelineno-3-15></a> <span class=p>)</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_template class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">get_template</span> <a href=#django_components.Component.get_template 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>get_template</span><span class=p>(</span><span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</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" 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><span title=django.template.base.Template>Template</span></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/component.py#L914 target=_blank>See source code</a></p> <p>DEPRECATED: Use instead <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a>, <a href=../api#django_components.Component.template><code>Component.template</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>. Will be removed in v1.</p> <p>Same as <a href=../api#django_components.Component.template><code>Component.template</code></a>, but allows to dynamically resolve the template at render time.</p> <p>The template can be either plain string or a <a href=https://docs.djangoproject.com/en/5.1/topics/templates/#template><code>Template</code></a> instance.</p> <p>See <a href=../api#django_components.Component.template><code>Component.template</code></a> for more info and examples.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template><code>template</code></a> <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name()</code></a>, or <a href=../api#django_components.Component.get_template><code>get_template()</code></a> must be defined.</p> </div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>The context is not fully populated at the point when this method is called.</p> <p>If you need to access the context, either use <a href=../api#django_components.Component.on_render_before><code>Component.on_render_before()</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>.</p> </div> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>context</code></b> (<code><span title=django.template.context.Context>Context</span></code>) <div class=doc-md-description> <p>The Django template <a href=https://docs.djangoproject.com/en/5.1/ref/templates/api/#django.template.Context><code>Context</code></a> in which the component is rendered.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <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>, <span title=django.template.base.Template>Template</span>]]</code> <div class=doc-md-description> <p>Optional[Union[str, Template]]: The inlined Django template string or a <a href=https://docs.djangoproject.com/en/5.1/topics/templates/#template><code>Template</code></a> instance.</p> </div> </li> </ul> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_template_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">get_template_data</span> <a href=#django_components.Component.get_template_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>get_template_data</span><span class=p>(</span><span class=n>args</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><span class=p>,</span> <span class=n>kwargs</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><span class=p>,</span> <span class=n>slots</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><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</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" title=typing.Mapping href=https://docs.python.org/3.12/library/typing.html#typing.Mapping>Mapping</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/component.py#L997 target=_blank>See source code</a></p> <p>Use this method to define variables that will be available in the template.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>Template variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</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/component.py#L933 target=_blank>See source code</a></p> <p>DEPRECATED: Use instead <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a>, <a href=../api#django_components.Component.template><code>Component.template</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>. Will be removed in v1.</p> <p>Same as <a href=../api#django_components.Component.template><code>Component.template</code></a>, but allows to dynamically resolve the template at render time.</p> <p>The template can be either plain string or a <a href=https://docs.djangoproject.com/en/5.1/topics/templates/#template><code>Template</code></a> instance.</p> <p>See <a href=../api#django_components.Component.template><code>Component.template</code></a> for more info and examples.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template><code>template</code></a> <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name()</code></a>, or <a href=../api#django_components.Component.get_template><code>get_template()</code></a> must be defined.</p> </div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>The context is not fully populated at the point when this method is called.</p> <p>If you need to access the context, either use <a href=../api#django_components.Component.on_render_before><code>Component.on_render_before()</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>.</p> </div> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>context</code></b> (<code><span title=django.template.context.Context>Context</span></code>) <div class=doc-md-description> <p>The Django template <a href=https://docs.djangoproject.com/en/5.1/ref/templates/api/#django.template.Context><code>Context</code></a> in which the component is rendered.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <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>, <span title=django.template.base.Template>Template</span>]]</code> <div class=doc-md-description> <p>Optional[Union[str, Template]]: The inlined Django template string or a <a href=https://docs.djangoproject.com/en/5.1/topics/templates/#template><code>Template</code></a> instance.</p> </div> </li> </ul> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_template_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">get_template_data</span> <a href=#django_components.Component.get_template_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>get_template_data</span><span class=p>(</span><span class=n>args</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><span class=p>,</span> <span class=n>kwargs</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><span class=p>,</span> <span class=n>slots</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><span class=p>,</span> <span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</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" title=typing.Mapping href=https://docs.python.org/3.12/library/typing.html#typing.Mapping>Mapping</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/component.py#L1016 target=_blank>See source code</a></p> <p>Use this method to define variables that will be available in the template.</p> <p>This method has access to the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <p>Read more about <a href=../../concepts/fundamentals/html_js_css_variables>Template variables</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>class</span><span class=w> </span><span class=nc>MyComponent</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>get_template_data</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>args</span><span class=p>,</span> <span class=n>kwargs</span><span class=p>,</span> <span class=n>slots</span><span class=p>,</span> <span class=n>context</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>return</span> <span class=p>{</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;name&quot;</span><span class=p>:</span> <span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;name&quot;</span><span class=p>],</span>
@ -1194,8 +1194,8 @@
<a id=__codelineno-3-14 name=__codelineno-3-14 href=#__codelineno-3-14></a> <span class=n>size</span><span class=o>=</span><span class=n>kwargs</span><span class=p>[</span><span class=s2>&quot;size&quot;</span><span class=p>],</span>
<a id=__codelineno-3-15 name=__codelineno-3-15 href=#__codelineno-3-15></a> <span class=p>)</span>
</code></pre></div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p><code>get_template_data()</code> and <a href=../api#django_components.Component.get_context_data><code>get_context_data()</code></a> are mutually exclusive.</p> <p>If both methods return non-empty dictionaries, an error will be raised.</p> </div> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.get_template_name class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">get_template_name</span> <a href=#django_components.Component.get_template_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=nf>get_template_name</span><span class=p>(</span><span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</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/component.py#L827 target=_blank>See source code</a></p> <p>DEPRECATED: Use instead <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a>, <a href=../api#django_components.Component.template><code>Component.template</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>. Will be removed in v1.</p> <p>Same as <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a>, but allows to dynamically resolve the template name at render time.</p> <p>See <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a> for more info and examples.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>The context is not fully populated at the point when this method is called.</p> <p>If you need to access the context, either use <a href=../api#django_components.Component.on_render_before><code>Component.on_render_before()</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>.</p> </div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name()</code></a>, <a href=../api#django_components.Component.template><code>template</code></a> or <a href=../api#django_components.Component.get_template><code>get_template()</code></a> must be defined.</p> </div> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>context</code></b> (<code><span title=django.template.context.Context>Context</span></code>) <div class=doc-md-description> <p>The Django template <a href=https://docs.djangoproject.com/en/5.1/ref/templates/api/#django.template.Context><code>Context</code></a> in which the component is rendered.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <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> <p>Optional[str]: The filepath to the template.</p> </div> </li> </ul> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.inject class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">inject</span> <a href=#django_components.Component.inject 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>inject</span><span class=p>(</span><span class=n>key</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>default</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.Any href=https://docs.python.org/3.12/library/typing.html#typing.Any>Any</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>)</span> <span class=o>-&gt;</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/component.py#L2963 target=_blank>See source code</a></p> <p>Use this method to retrieve the data that was passed to a <a href=../template_tags#provide><code>{% provide %}</code></a> tag with the corresponding key.</p> <p>To retrieve the data, <code>inject()</code> must be called inside a component that's inside the <a href=../template_tags#provide><code>{% provide %}</code></a> tag.</p> <p>You may also pass a default that will be used if the <a href=../template_tags#provide><code>{% provide %}</code></a> tag with given key was NOT found.</p> <p>This method is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>, and raises an error if called from outside the rendering execution.</p> <p>Read more about <a href=../../concepts/advanced/provide_inject>Provide / Inject</a>.</p> <p><strong>Example:</strong></p> <p>Given this template: <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>provide</span> <span class=s2>&quot;my_provide&quot;</span> <span class=nv>message</span><span class=o>=</span><span class=s2>&quot;hello&quot;</span> <span class=cp>%}</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L846 target=_blank>See source code</a></p> <p>DEPRECATED: Use instead <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a>, <a href=../api#django_components.Component.template><code>Component.template</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>. Will be removed in v1.</p> <p>Same as <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a>, but allows to dynamically resolve the template name at render time.</p> <p>See <a href=../api#django_components.Component.template_file><code>Component.template_file</code></a> for more info and examples.</p> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>The context is not fully populated at the point when this method is called.</p> <p>If you need to access the context, either use <a href=../api#django_components.Component.on_render_before><code>Component.on_render_before()</code></a> or <a href=../api#django_components.Component.on_render><code>Component.on_render()</code></a>.</p> </div> <div class="admonition warning"> <p class=admonition-title>Warning</p> <p>Only one of <a href=../api#django_components.Component.template_file><code>template_file</code></a>, <a href=../api#django_components.Component.get_template_name><code>get_template_name()</code></a>, <a href=../api#django_components.Component.template><code>template</code></a> or <a href=../api#django_components.Component.get_template><code>get_template()</code></a> must be defined.</p> </div> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>context</code></b> (<code><span title=django.template.context.Context>Context</span></code>) <div class=doc-md-description> <p>The Django template <a href=https://docs.djangoproject.com/en/5.1/ref/templates/api/#django.template.Context><code>Context</code></a> in which the component is rendered.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <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> <p>Optional[str]: The filepath to the template.</p> </div> </li> </ul> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.inject class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">inject</span> <a href=#django_components.Component.inject 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>inject</span><span class=p>(</span><span class=n>key</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>default</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.Any href=https://docs.python.org/3.12/library/typing.html#typing.Any>Any</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>)</span> <span class=o>-&gt;</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/component.py#L2982 target=_blank>See source code</a></p> <p>Use this method to retrieve the data that was passed to a <a href=../template_tags#provide><code>{% provide %}</code></a> tag with the corresponding key.</p> <p>To retrieve the data, <code>inject()</code> must be called inside a component that's inside the <a href=../template_tags#provide><code>{% provide %}</code></a> tag.</p> <p>You may also pass a default that will be used if the <a href=../template_tags#provide><code>{% provide %}</code></a> tag with given key was NOT found.</p> <p>This method is part of the <a href=../../concepts/fundamentals/render_api>Render API</a>, and raises an error if called from outside the rendering execution.</p> <p>Read more about <a href=../../concepts/advanced/provide_inject>Provide / Inject</a>.</p> <p><strong>Example:</strong></p> <p>Given this template: <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>provide</span> <span class=s2>&quot;my_provide&quot;</span> <span class=nv>message</span><span class=o>=</span><span class=s2>&quot;hello&quot;</span> <span class=cp>%}</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=x> </span><span class=cp>{%</span> <span class=k>component</span> <span class=s2>&quot;my_comp&quot;</span> <span class=o>/</span> <span class=cp>%}</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=cp>{%</span> <span class=k>endprovide</span> <span class=cp>%}</span>
</code></pre></div></p> <p>And given this definition of "my_comp" component: <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-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>Component</span><span class=p>,</span> <span class=n>register</span>
@ -1220,7 +1220,7 @@
module-attribute
(django_components.component.OnRenderGenerator)" href=#django_components.OnRenderGenerator>OnRenderGenerator</a></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/component.py#L1955 target=_blank>See source code</a></p> <p>This method does the actual rendering.</p> <p>Read more about this hook in <a href=../../concepts/advanced/hooks/#on_render>Component hooks</a>.</p> <p>You can override this method to:</p> <ul> <li>Change what template gets rendered</li> <li>Modify the context</li> <li>Modify the rendered output after it has been rendered</li> <li>Handle errors</li> </ul> <p>The default implementation renders the component's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Template>Template</a> with the given <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context>Context</a>.</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</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/component.py#L1974 target=_blank>See source code</a></p> <p>This method does the actual rendering.</p> <p>Read more about this hook in <a href=../../concepts/advanced/hooks/#on_render>Component hooks</a>.</p> <p>You can override this method to:</p> <ul> <li>Change what template gets rendered</li> <li>Modify the context</li> <li>Modify the rendered output after it has been rendered</li> <li>Handle errors</li> </ul> <p>The default implementation renders the component's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Template>Template</a> with the given <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context>Context</a>.</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>on_render</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>context</span><span class=p>,</span> <span class=n>template</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>if</span> <span class=n>template</span> <span class=ow>is</span> <span class=kc>None</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=kc>None</span>
@ -1280,7 +1280,7 @@
module-attribute
(django_components.slots.SlotResult)" href=#django_components.SlotResult>SlotResult</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/component.py#L2098 target=_blank>See source code</a></p> <p>Hook that runs when the component was fully rendered, including all its children.</p> <p>It receives the same arguments as <a href=../api#django_components.Component.on_render_before><code>on_render_before()</code></a>, plus the outcome of the rendering:</p> <ul> <li><code>result</code>: The rendered output of the component. <code>None</code> if the rendering failed.</li> <li><code>error</code>: The error that occurred during the rendering, or <code>None</code> if the rendering succeeded.</li> </ul> <p><a href=../api#django_components.Component.on_render_after><code>on_render_after()</code></a> behaves the same way as the second part of <a href=../api#django_components.Component.on_render><code>on_render()</code></a> (after the <code>yield</code>).</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</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/component.py#L2117 target=_blank>See source code</a></p> <p>Hook that runs when the component was fully rendered, including all its children.</p> <p>It receives the same arguments as <a href=../api#django_components.Component.on_render_before><code>on_render_before()</code></a>, plus the outcome of the rendering:</p> <ul> <li><code>result</code>: The rendered output of the component. <code>None</code> if the rendering failed.</li> <li><code>error</code>: The error that occurred during the rendering, or <code>None</code> if the rendering succeeded.</li> </ul> <p><a href=../api#django_components.Component.on_render_after><code>on_render_after()</code></a> behaves the same way as the second part of <a href=../api#django_components.Component.on_render><code>on_render()</code></a> (after the <code>yield</code>).</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>def</span><span class=w> </span><span class=nf>on_render_after</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>context</span><span class=p>,</span> <span class=n>template</span><span class=p>,</span> <span class=n>result</span><span class=p>,</span> <span class=n>error</span><span class=p>):</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>if</span> <span class=n>error</span> <span class=ow>is</span> <span class=kc>None</span><span class=p>:</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=c1># The rendering succeeded</span>
@ -1300,7 +1300,7 @@
<a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a> <span class=c1># The rendering failed</span>
<a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>&quot;Error: </span><span class=si>{</span><span class=n>error</span><span class=si>}</span><span class=s2>&quot;</span><span class=p>)</span>
</code></pre></div> </li> </ol> </div> </div> <div class="doc doc-object doc-function"> <h3 id=django_components.Component.on_render_before 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_render_before</span> <a href=#django_components.Component.on_render_before 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_render_before</span><span class=p>(</span><span class=n>context</span><span class=p>:</span> <span class=n><span title=django.template.context.Context>Context</span></span><span class=p>,</span> <span class=n>template</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.Template>Template</span></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/component.py#L1906 target=_blank>See source code</a></p> <p>Runs just before the component's template is rendered.</p> <p>It is called for every component, including nested ones, as part of the component render lifecycle.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>context</code></b> (<code><span title=django.template.context.Context>Context</span></code>) <div class=doc-md-description> <p>The Django <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context>Context</a> that will be used to render the component's template.</p> </div> </li> <li class="doc-section-item field-body"> <b><code>template</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>[<span title=django.template.base.Template>Template</span>]</code>) <div class=doc-md-description> <p>The Django <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Template>Template</a> instance that will be rendered, or <code>None</code> if no template.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <code>None</code> <div class=doc-md-description> <p>None. This hook is for side effects only.</p> </div> </li> </ul> <p><strong>Example:</strong></p> <p>You can use this hook to access the context or the template:</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.template</span><span class=w> </span><span class=kn>import</span> <span class=n>Context</span><span class=p>,</span> <span class=n>Template</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L1925 target=_blank>See source code</a></p> <p>Runs just before the component's template is rendered.</p> <p>It is called for every component, including nested ones, as part of the component render lifecycle.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>context</code></b> (<code><span title=django.template.context.Context>Context</span></code>) <div class=doc-md-description> <p>The Django <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context>Context</a> that will be used to render the component's template.</p> </div> </li> <li class="doc-section-item field-body"> <b><code>template</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>[<span title=django.template.base.Template>Template</span>]</code>) <div class=doc-md-description> <p>The Django <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Template>Template</a> instance that will be rendered, or <code>None</code> if no template.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <code>None</code> <div class=doc-md-description> <p>None. This hook is for side effects only.</p> </div> </li> </ul> <p><strong>Example:</strong></p> <p>You can use this hook to access the context or the template:</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.template</span><span class=w> </span><span class=kn>import</span> <span class=n>Context</span><span class=p>,</span> <span class=n>Template</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>django_components</span><span class=w> </span><span class=kn>import</span> <span class=n>Component</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -1320,7 +1320,7 @@
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>render_dependencies</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> <span class=o>=</span> <span class=kc>True</span><span class=p>,</span> <span class=n>request</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.http.HttpRequest href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpRequest>HttpRequest</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>outer_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><span title=django.template.context.Context>Context</span></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>registry</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-internal" title=" ComponentRegistry (django_components.component_registry.ComponentRegistry)" href=#django_components.ComponentRegistry>ComponentRegistry</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>registered_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> <span class=n>node</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-internal" title=" ComponentNode (django_components.component.ComponentNode)" href=#django_components.ComponentNode>ComponentNode</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>)</span> <span class=o>-&gt;</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/component.py#L3126 target=_blank>See source code</a></p> <p>Render the component into a string. This is the equivalent of calling the <a href=../template_tags#component><code>{% component %}</code></a> tag.</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>Button</span><span class=o>.</span><span class=n>render</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/component.py#L3145 target=_blank>See source code</a></p> <p>Render the component into a string. This is the equivalent of calling the <a href=../template_tags#component><code>{% component %}</code></a> tag.</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>Button</span><span class=o>.</span><span class=n>render</span><span class=p>(</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=n>args</span><span class=o>=</span><span class=p>[</span><span class=s2>&quot;John&quot;</span><span class=p>],</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>kwargs</span><span class=o>=</span><span class=p>{</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;surname&quot;</span><span class=p>:</span> <span class=s2>&quot;Doe&quot;</span><span class=p>,</span>
@ -1399,7 +1399,7 @@
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>render_dependencies</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> <span class=o>=</span> <span class=kc>True</span><span class=p>,</span> <span class=n>request</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.http.HttpRequest href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpRequest>HttpRequest</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>outer_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><span title=django.template.context.Context>Context</span></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>registry</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-internal" title=" ComponentRegistry (django_components.component_registry.ComponentRegistry)" href=#django_components.ComponentRegistry>ComponentRegistry</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n>registered_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> <span class=n>node</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-internal" title=" ComponentNode (django_components.component.ComponentNode)" href=#django_components.ComponentNode>ComponentNode</a></span><span class=p>]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=o>**</span><span class=n>response_kwargs</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><span class=p>)</span> <span class=o>-&gt;</span> <span class=n><a class="autorefs autorefs-external" title=django.http.HttpResponse href=https://docs.djangoproject.com/en/5.2/_objects/ref/request-response/#django.http.HttpResponse>HttpResponse</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/component.py#L3036 target=_blank>See source code</a></p> <p>Render the component and wrap the content in an HTTP response class.</p> <p><code>render_to_response()</code> takes the same inputs as <a href=../api/#django_components.Component.render><code>Component.render()</code></a>. See that method for more information.</p> <p>After the component is rendered, the HTTP response class is instantiated with the rendered content.</p> <p>Any additional kwargs are passed to the response class.</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=n>Button</span><span class=o>.</span><span class=n>render_to_response</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/component.py#L3055 target=_blank>See source code</a></p> <p>Render the component and wrap the content in an HTTP response class.</p> <p><code>render_to_response()</code> takes the same inputs as <a href=../api/#django_components.Component.render><code>Component.render()</code></a>. See that method for more information.</p> <p>After the component is rendered, the HTTP response class is instantiated with the rendered content.</p> <p>Any additional kwargs are passed to the response class.</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=n>Button</span><span class=o>.</span><span class=n>render_to_response</span><span class=p>(</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=n>args</span><span class=o>=</span><span class=p>[</span><span class=s2>&quot;John&quot;</span><span class=p>],</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>kwargs</span><span class=o>=</span><span class=p>{</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;surname&quot;</span><span class=p>:</span> <span class=s2>&quot;Doe&quot;</span><span class=p>,</span>
@ -1873,7 +1873,7 @@
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</a></span><span class=p>,</span> <span class=n>render_dependencies</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><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/component.py#L243 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1.</p> <p>Object holding the inputs that were passed to <a href=../api#django_components.Component.render><code>Component.render()</code></a> or the <a href=../template_tags#component><code>{% component %}</code></a> template tag.</p> <p>This object is available only during render under <a href=../api#django_components.Component.input><code>Component.input</code></a>.</p> <p>Read more about the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <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=" args
</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/component.py#L244 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1.</p> <p>Object holding the inputs that were passed to <a href=../api#django_components.Component.render><code>Component.render()</code></a> or the <a href=../template_tags#component><code>{% component %}</code></a> template tag.</p> <p>This object is available only during render under <a href=../api#django_components.Component.input><code>Component.input</code></a>.</p> <p>Read more about the <a href=../../concepts/fundamentals/render_api>Render API</a>.</p> <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=" args
@ -1924,28 +1924,28 @@
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</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.ComponentInput.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.ComponentInput.args 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>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/component.py#L261 target=_blank>See source code</a></p> <p>Positional arguments (as list) passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.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.ComponentInput.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><span title=django.template.context.Context>Context</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/component.py#L256 target=_blank>See source code</a></p> <p>Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.deps_strategy class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">deps_strategy</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.ComponentInput.deps_strategy 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>deps_strategy</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" DependenciesStrategy
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L262 target=_blank>See source code</a></p> <p>Positional arguments (as list) passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.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.ComponentInput.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><span title=django.template.context.Context>Context</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/component.py#L257 target=_blank>See source code</a></p> <p>Django's <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context><code>Context</code></a> passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.deps_strategy class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">deps_strategy</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.ComponentInput.deps_strategy 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>deps_strategy</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" DependenciesStrategy
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</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/component.py#L267 target=_blank>See source code</a></p> <p>Dependencies strategy passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.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.ComponentInput.kwargs 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>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/component.py#L263 target=_blank>See source code</a></p> <p>Keyword arguments (as dict) passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.render_dependencies class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">render_dependencies</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.ComponentInput.render_dependencies 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>render_dependencies</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/component.py#L273 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <code>deps_strategy="ignore"</code> instead.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.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.ComponentInput.slots 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>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><span title=django_components.slots.SlotName>SlotName</span></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" title=" Slot
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L268 target=_blank>See source code</a></p> <p>Dependencies strategy passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.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.ComponentInput.kwargs 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>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/component.py#L264 target=_blank>See source code</a></p> <p>Keyword arguments (as dict) passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.render_dependencies class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">render_dependencies</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.ComponentInput.render_dependencies 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>render_dependencies</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/component.py#L274 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <code>deps_strategy="ignore"</code> instead.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.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.ComponentInput.slots 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>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><span title=django_components.slots.SlotName>SlotName</span></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" title=" Slot
dataclass
(django_components.slots.Slot)" href=#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/component.py#L265 target=_blank>See source code</a></p> <p>Slots (as dict) passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.type class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">type</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.ComponentInput.type 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=nb>type</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" DependenciesStrategy
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L266 target=_blank>See source code</a></p> <p>Slots (as dict) passed to <code>Component.render()</code></p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentInput.type class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">type</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.ComponentInput.type 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=nb>type</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" DependenciesStrategy
module-attribute
(django_components.dependencies.DependenciesStrategy)" href=#django_components.DependenciesStrategy>DependenciesStrategy</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/component.py#L270 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <code>deps_strategy</code> instead.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.ComponentMediaInput class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ComponentMediaInput</span> <a href=#django_components.ComponentMediaInput 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/component_media.py#L108 target=_blank>See source code</a></p> <p>Defines JS and CSS media files associated with a <a href=../api#django_components.Component><code>Component</code></a>.</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</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/component.py#L271 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <code>deps_strategy</code> instead.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.ComponentMediaInput class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ComponentMediaInput</span> <a href=#django_components.ComponentMediaInput 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/component_media.py#L108 target=_blank>See source code</a></p> <p>Defines JS and CSS media files associated with a <a href=../api#django_components.Component><code>Component</code></a>.</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>class</span><span class=w> </span><span class=nc>MyTable</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=k>class</span><span class=w> </span><span class=nc>Media</span><span class=p>:</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>js</span> <span class=o>=</span> <span class=p>[</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=s2>&quot;path/to/script.js&quot;</span><span class=p>,</span>
@ -2102,7 +2102,7 @@
<a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a> <span class=k>lambda</span><span class=p>:</span> <span class=n>Path</span><span class=p>(</span><span class=s2>&quot;path/to/style.css&quot;</span><span class=p>),</span>
<a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a> <span class=p>]</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.ComponentNode class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ComponentNode</span> <a href=#django_components.ComponentNode 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>ComponentNode</span><span class=p>(</span><span class=n>name</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>registry</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-internal" title=" ComponentRegistry (django_components.component_registry.ComponentRegistry)" href=#django_components.ComponentRegistry>ComponentRegistry</a></span><span class=p>,</span> <span class=n>params</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><span class=p>[</span><span class=n><span title=django_components.util.template_tag.TagAttr>TagAttr</span></span><span class=p>],</span> <span class=n>flags</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.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-external" href=https://docs.python.org/3.12/library/functions.html#bool>bool</a></span><span class=p>]]</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <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> <span class=n>node_id</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> <span class=n>contents</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> <span class=n>template_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> <span class=n>template_component</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.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.Component)" href=#django_components.Component>Component</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>django_components.node.BaseNode</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L3892 target=_blank>See source code</a></p> <p>Renders one of the components that was previously registered with <a href=./#django_components.register><code>@register()</code></a> decorator.</p> <p>The <a href=../template_tags#component><code>{% component %}</code></a> tag takes:</p> <ul> <li>Component's registered name as the first positional argument,</li> <li>Followed by any number of positional and keyword arguments.</li> </ul> <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>load</span> <span class=nv>component_tags</span> <span class=cp>%}</span>
</code></pre></div> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>django_components.node.BaseNode</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L3937 target=_blank>See source code</a></p> <p>Renders one of the components that was previously registered with <a href=./#django_components.register><code>@register()</code></a> decorator.</p> <p>The <a href=../template_tags#component><code>{% component %}</code></a> tag takes:</p> <ul> <li>Component's registered name as the first positional argument,</li> <li>Followed by any number of positional and keyword arguments.</li> </ul> <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>load</span> <span class=nv>component_tags</span> <span class=cp>%}</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=x>&lt;div&gt;</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=x> </span><span class=cp>{%</span> <span class=k>component</span> <span class=s2>&quot;button&quot;</span> <span class=nv>name</span><span class=o>=</span><span class=s2>&quot;John&quot;</span> <span class=nv>job</span><span class=o>=</span><span class=s2>&quot;Developer&quot;</span> <span class=o>/</span> <span class=cp>%}</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=x>&lt;/div&gt;</span>
@ -2335,7 +2335,7 @@
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=n>registry</span><span class=o>.</span><span class=n>register</span><span class=p>(</span><span class=s2>&quot;button&quot;</span><span class=p>,</span> <span class=n>ButtonComponent</span><span class=p>)</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=c1># Then unregister</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=n>registry</span><span class=o>.</span><span class=n>unregister</span><span class=p>(</span><span class=s2>&quot;button&quot;</span><span class=p>)</span>
</code></pre></div> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.ComponentVars class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ComponentVars</span> <a href=#django_components.ComponentVars class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>tuple</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L277 target=_blank>See source code</a></p> <p>Type for the variables available inside the component templates.</p> <p>All variables here are scoped under <code>component_vars.</code>, so e.g. attribute <code>kwargs</code> on this class is accessible inside the template 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=nv>component_vars.kwargs</span> <span class=cp>}}</span>
</code></pre></div> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id=django_components.ComponentVars class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ComponentVars</span> <a href=#django_components.ComponentVars class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents first"> <p class="doc doc-class-bases">Bases: <code>tuple</code></p> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L278 target=_blank>See source code</a></p> <p>Type for the variables available inside the component templates.</p> <p>All variables here are scoped under <code>component_vars.</code>, so e.g. attribute <code>kwargs</code> on this class is accessible inside the template 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=nv>component_vars.kwargs</span> <span class=cp>}}</span>
</code></pre></div> <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=" args
@ -2357,7 +2357,7 @@
instance-attribute
(django_components.ComponentVars.slots)" href=#django_components.ComponentVars.slots>slots</a></code></b> (<code><a class="autorefs autorefs-external" title=typing.Any href=https://docs.python.org/3.12/library/typing.html#typing.Any>Any</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.ComponentVars.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.ComponentVars.args 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>args</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/component.py#L289 target=_blank>See source code</a></p> <p>The <code>args</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is the same <a href=../api/#django_components.Component.args><code>Component.args</code></a> that's available on the component instance.</p> <p>If you defined the <a href=../api/#django_components.Component.Args><code>Component.Args</code></a> class, then the <code>args</code> property will return an instance of that class.</p> <p>Otherwise, <code>args</code> will be a plain list.</p> <p><strong>Example:</strong></p> <p>With <code>Args</code> class:</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>Component</span><span class=p>,</span> <span class=n>register</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L290 target=_blank>See source code</a></p> <p>The <code>args</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is the same <a href=../api/#django_components.Component.args><code>Component.args</code></a> that's available on the component instance.</p> <p>If you defined the <a href=../api/#django_components.Component.Args><code>Component.Args</code></a> class, then the <code>args</code> property will return an instance of that class.</p> <p>Otherwise, <code>args</code> will be a plain list.</p> <p><strong>Example:</strong></p> <p>With <code>Args</code> class:</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>Component</span><span class=p>,</span> <span class=n>register</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;table&quot;</span><span class=p>)</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -2384,7 +2384,7 @@
<a id=__codelineno-1-10 name=__codelineno-1-10 href=#__codelineno-1-10></a> <span class=p>&lt;/</span><span class=nt>div</span><span class=p>&gt;</span>
<a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a> <span class=sd>&#39;&#39;&#39;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentVars.is_filled class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">is_filled</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.ComponentVars.is_filled 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>is_filled</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-external" href=https://docs.python.org/3.12/library/functions.html#bool>bool</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/component.py#L445 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <a href=../template_vars#django_components.component.ComponentVars.slots><code>component_vars.slots</code></a> instead. Note that <code>component_vars.slots</code> no longer escapes the slot names.</p> <p>Dictonary describing which component slots are filled (<code>True</code>) or are not (<code>False</code>).</p> <p><i>New in version 0.70</i></p> <p>Use as <code>{{ component_vars.is_filled }}</code></p> <p>Example:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c>{# Render wrapping HTML only if the slot is defined #}</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L446 target=_blank>See source code</a></p> <p>Deprecated. Will be removed in v1. Use <a href=../template_vars#django_components.component.ComponentVars.slots><code>component_vars.slots</code></a> instead. Note that <code>component_vars.slots</code> no longer escapes the slot names.</p> <p>Dictonary describing which component slots are filled (<code>True</code>) or are not (<code>False</code>).</p> <p><i>New in version 0.70</i></p> <p>Use as <code>{{ component_vars.is_filled }}</code></p> <p>Example:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c>{# Render wrapping HTML only if the slot is defined #}</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=cp>{%</span> <span class=k>if</span> <span class=nv>component_vars.is_filled.my_slot</span> <span class=cp>%}</span>
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=x> &lt;div class=&quot;slot-wrapper&quot;&gt;</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=x> </span><span class=cp>{%</span> <span class=k>slot</span> <span class=s2>&quot;my_slot&quot;</span> <span class=o>/</span> <span class=cp>%}</span>
@ -2396,7 +2396,7 @@
<a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a> <span class=s2>&quot;my_slot_filled&quot;</span><span class=p>:</span> <span class=s2>&quot;my_slot&quot;</span> <span class=ow>in</span> <span class=n>slots</span>
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=p>}</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentVars.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.ComponentVars.kwargs 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>kwargs</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/component.py#L341 target=_blank>See source code</a></p> <p>The <code>kwargs</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is the same <a href=../api/#django_components.Component.kwargs><code>Component.kwargs</code></a> that's available on the component instance.</p> <p>If you defined the <a href=../api/#django_components.Component.Kwargs><code>Component.Kwargs</code></a> class, then the <code>kwargs</code> property will return an instance of that class.</p> <p>Otherwise, <code>kwargs</code> will be a plain dict.</p> <p><strong>Example:</strong></p> <p>With <code>Kwargs</code> class:</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>Component</span><span class=p>,</span> <span class=n>register</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L342 target=_blank>See source code</a></p> <p>The <code>kwargs</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is the same <a href=../api/#django_components.Component.kwargs><code>Component.kwargs</code></a> that's available on the component instance.</p> <p>If you defined the <a href=../api/#django_components.Component.Kwargs><code>Component.Kwargs</code></a> class, then the <code>kwargs</code> property will return an instance of that class.</p> <p>Otherwise, <code>kwargs</code> will be a plain dict.</p> <p><strong>Example:</strong></p> <p>With <code>Kwargs</code> class:</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>Component</span><span class=p>,</span> <span class=n>register</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;table&quot;</span><span class=p>)</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -2423,7 +2423,7 @@
<a id=__codelineno-1-10 name=__codelineno-1-10 href=#__codelineno-1-10></a> <span class=p>&lt;/</span><span class=nt>div</span><span class=p>&gt;</span>
<a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a> <span class=sd>&#39;&#39;&#39;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.ComponentVars.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.ComponentVars.slots 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>slots</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/component.py#L393 target=_blank>See source code</a></p> <p>The <code>slots</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is the same <a href=../api/#django_components.Component.slots><code>Component.slots</code></a> that's available on the component instance.</p> <p>If you defined the <a href=../api/#django_components.Component.Slots><code>Component.Slots</code></a> class, then the <code>slots</code> property will return an instance of that class.</p> <p>Otherwise, <code>slots</code> will be a plain dict.</p> <p><strong>Example:</strong></p> <p>With <code>Slots</code> class:</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>Component</span><span class=p>,</span> <span class=n>SlotInput</span><span class=p>,</span> <span class=n>register</span>
</code></pre></div> <div class="doc doc-contents "> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/component.py#L394 target=_blank>See source code</a></p> <p>The <code>slots</code> argument as passed to <a href=../api/#django_components.Component.get_template_data><code>Component.get_template_data()</code></a>.</p> <p>This is the same <a href=../api/#django_components.Component.slots><code>Component.slots</code></a> that's available on the component instance.</p> <p>If you defined the <a href=../api/#django_components.Component.Slots><code>Component.Slots</code></a> class, then the <code>slots</code> property will return an instance of that class.</p> <p>Otherwise, <code>slots</code> will be a plain dict.</p> <p><strong>Example:</strong></p> <p>With <code>Slots</code> class:</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>Component</span><span class=p>,</span> <span class=n>SlotInput</span><span class=p>,</span> <span class=n>register</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=nd>@register</span><span class=p>(</span><span class=s2>&quot;table&quot;</span><span class=p>)</span>
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>class</span><span class=w> </span><span class=nc>Table</span><span class=p>(</span><span class=n>Component</span><span class=p>):</span>
@ -3075,7 +3075,7 @@
module-attribute
(django_components.slots.SlotResult)" href=#django_components.SlotResult>SlotResult</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/component.py#L113 target=_blank>See source code</a></p> <p>This is the signature of the <a href=../api/#django_components.Component.on_render><code>Component.on_render()</code></a> method if it yields (and thus returns a generator).</p> <p>When <code>on_render()</code> is a generator then it:</p> <ul> <li> <p>Yields a rendered template (string or <code>None</code>)</p> </li> <li> <p>Receives back a tuple of <code>(final_output, error)</code>.</p> <p>The final output is the rendered template that now has all its children rendered too. May be <code>None</code> if you yielded <code>None</code> earlier.</p> <p>The error is <code>None</code> if the rendering was successful. Otherwise the error is set and the output is <code>None</code>.</p> </li> <li> <p>Can yield multiple times within the same method for complex rendering scenarios</p> </li> <li> <p>At the end it may return a new string to override the final rendered output.</p> </li> </ul> <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>Component</span><span class=p>,</span> <span class=n>OnRenderGenerator</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/component.py#L114 target=_blank>See source code</a></p> <p>This is the signature of the <a href=../api/#django_components.Component.on_render><code>Component.on_render()</code></a> method if it yields (and thus returns a generator).</p> <p>When <code>on_render()</code> is a generator then it:</p> <ul> <li> <p>Yields a rendered template (string or <code>None</code>)</p> </li> <li> <p>Receives back a tuple of <code>(final_output, error)</code>.</p> <p>The final output is the rendered template that now has all its children rendered too. May be <code>None</code> if you yielded <code>None</code> earlier.</p> <p>The error is <code>None</code> if the rendering was successful. Otherwise the error is set and the output is <code>None</code>.</p> </li> <li> <p>Can yield multiple times within the same method for complex rendering scenarios</p> </li> <li> <p>At the end it may return a new string to override the final rendered output.</p> </li> </ul> <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>Component</span><span class=p>,</span> <span class=n>OnRenderGenerator</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>MyTable</span><span class=p>(</span><span class=n>Component</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_render</span><span class=p>(</span>
@ -3744,7 +3744,7 @@
</code></pre></div> <p>Then <code>component_name</code> would be <code>my_comp</code>.</p> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id=django_components.TagResult.tokens class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">tokens</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.TagResult.tokens 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>tokens</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><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/tag_formatter.py#L39 target=_blank>See source code</a></p> <p>Remaining tokens (words) that were passed to the tag, with component name removed</p> <p>For example, if we had tag</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;my_comp&quot;</span> <span class=nv>key</span><span class=o>=</span><span class=nv>val</span> <span class=nv>key2</span><span class=o>=</span><span class=nv>val2</span> <span class=cp>%}</span>
</code></pre></div> <p>Then <code>tokens</code> would be <code>['key=val', 'key2=val2']</code>.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.all_components class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">all_components</span> <a href=#django_components.all_components 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>all_components</span><span class=p>()</span> <span class=o>-&gt;</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><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.Component)" href=#django_components.Component>Component</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/component.py#L191 target=_blank>See source code</a></p> <p>Get a list of all created <a href=../api#django_components.Component><code>Component</code></a> classes.</p> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.all_registries class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">all_registries</span> <a href=#django_components.all_registries 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>all_registries</span><span class=p>()</span> <span class=o>-&gt;</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><span class=p>[</span><span class=n><a class="autorefs autorefs-internal" title=" ComponentRegistry (django_components.component_registry.ComponentRegistry)" href=#django_components.ComponentRegistry>ComponentRegistry</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/component.py#L192 target=_blank>See source code</a></p> <p>Get a list of all created <a href=../api#django_components.Component><code>Component</code></a> classes.</p> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.all_registries class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">all_registries</span> <a href=#django_components.all_registries 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>all_registries</span><span class=p>()</span> <span class=o>-&gt;</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><span class=p>[</span><span class=n><a class="autorefs autorefs-internal" title=" ComponentRegistry (django_components.component_registry.ComponentRegistry)" href=#django_components.ComponentRegistry>ComponentRegistry</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/component_registry.py#L144 target=_blank>See source code</a></p> <p>Get a list of all created <a href=./#django_components.ComponentRegistry><code>ComponentRegistry</code></a> instances.</p> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.autodiscover class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">autodiscover</span> <a href=#django_components.autodiscover 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>autodiscover</span><span class=p>(</span><span class=n>map_module</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.Callable href=https://docs.python.org/3.12/library/typing.html#typing.Callable>Callable</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" 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> <span class=o>-&gt;</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><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/autodiscovery.py#L14 target=_blank>See source code</a></p> <p>Search for all python files in <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> and <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> and import them.</p> <p>See <a href=../../concepts/fundamentals/autodiscovery>Autodiscovery</a>.</p> <p>NOTE: Subdirectories and files starting with an underscore <code>_</code> (except for <code>__init__.py</code> are ignored.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>map_module</code></b> (<code><a class="autorefs autorefs-external" title=typing.Callable href=https://docs.python.org/3.12/library/typing.html#typing.Callable>Callable</a>[[<a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a>], <a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/stdtypes.html#str>str</a>]</code>, default: <code>None</code> ) <div class=doc-md-description> <p>Map the module paths with <code>map_module</code> function. This serves as an escape hatch for when you need to use this function in tests.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <code><a class="autorefs autorefs-external" title=typing.List href=https://docs.python.org/3.12/library/typing.html#typing.List>List</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> <p>List[str]: A list of module paths of imported files.</p> </div> </li> </ul> <p>To get the same list of modules that <code>autodiscover()</code> would return, but without importing them, use <a href=../api#django_components.get_component_files><code>get_component_files()</code></a>:</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>get_component_files</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
@ -3769,7 +3769,7 @@
</code></pre></div> <div class="doc doc-contents first"> <p><a href=https://github.com/django-components/django-components/tree/master/src/django_components/attributes.py#L92 target=_blank>See source code</a></p> <p>Format a dict of attributes into an HTML attributes string.</p> <p>Read more about <a href=../../concepts/fundamentals/html_attributes>HTML attributes</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=n>format_attributes</span><span class=p>({</span><span class=s2>&quot;class&quot;</span><span class=p>:</span> <span class=s2>&quot;my-class&quot;</span><span class=p>,</span> <span class=s2>&quot;data-id&quot;</span><span class=p>:</span> <span class=s2>&quot;123&quot;</span><span class=p>})</span>
</code></pre></div> <p>will return</p> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=s1>&#39;class=&quot;my-class&quot; data-id=&quot;123&quot;&#39;</span>
</code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.get_component_by_class_id class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_component_by_class_id</span> <a href=#django_components.get_component_by_class_id 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>get_component_by_class_id</span><span class=p>(</span><span class=n>comp_cls_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><span class=p>)</span> <span class=o>-&gt;</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.Component)" href=#django_components.Component>Component</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/component.py#L224 target=_blank>See source code</a></p> <p>Get a component class by its unique ID.</p> <p>Each component class is associated with a unique hash that's derived from its module import path.</p> <p>E.g. <code>path.to.my.secret.MyComponent</code> -&gt; <code>MyComponent_ab01f32</code></p> <p>This hash is available under <a href=../api#django_components.Component.class_id><code>class_id</code></a> on the component class.</p> <p>Raises <code>KeyError</code> if the component class is not found.</p> <p>NOTE: This is mainly intended for extensions.</p> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.get_component_dirs class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_component_dirs</span> <a href=#django_components.get_component_dirs 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>get_component_dirs</span><span class=p>(</span><span class=n>include_apps</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> <span class=o>=</span> <span class=kc>True</span><span class=p>)</span> <span class=o>-&gt;</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><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=pathlib.Path href=https://docs.python.org/3.12/library/pathlib.html#pathlib.Path>Path</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/component.py#L225 target=_blank>See source code</a></p> <p>Get a component class by its unique ID.</p> <p>Each component class is associated with a unique hash that's derived from its module import path.</p> <p>E.g. <code>path.to.my.secret.MyComponent</code> -&gt; <code>MyComponent_ab01f32</code></p> <p>This hash is available under <a href=../api#django_components.Component.class_id><code>class_id</code></a> on the component class.</p> <p>Raises <code>KeyError</code> if the component class is not found.</p> <p>NOTE: This is mainly intended for extensions.</p> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.get_component_dirs class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_component_dirs</span> <a href=#django_components.get_component_dirs 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>get_component_dirs</span><span class=p>(</span><span class=n>include_apps</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> <span class=o>=</span> <span class=kc>True</span><span class=p>)</span> <span class=o>-&gt;</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><span class=p>[</span><span class=n><a class="autorefs autorefs-external" title=pathlib.Path href=https://docs.python.org/3.12/library/pathlib.html#pathlib.Path>Path</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/util/loader.py#L12 target=_blank>See source code</a></p> <p>Get directories that may contain component files.</p> <p>This is the heart of all features that deal with filesystem and file lookup. Autodiscovery, Django template resolution, static file resolution - They all use this.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>include_apps</code></b> (<code><a class="autorefs autorefs-external" href=https://docs.python.org/3.12/library/functions.html#bool>bool</a></code>, default: <code>True</code> ) <div class=doc-md-description> <p>Include directories from installed Django apps. Defaults to <code>True</code>.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <code><a class="autorefs autorefs-external" title=typing.List href=https://docs.python.org/3.12/library/typing.html#typing.List>List</a>[<a class="autorefs autorefs-external" title=pathlib.Path href=https://docs.python.org/3.12/library/pathlib.html#pathlib.Path>Path</a>]</code> <div class=doc-md-description> <p>List[Path]: A list of directories that may contain component files.</p> </div> </li> </ul> <p><code>get_component_dirs()</code> searches for dirs set in <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> settings. If none set, defaults to searching for a <code>"components"</code> app.</p> <p>In addition to that, also all installed Django apps are checked whether they contain directories as set in <a href=../settings#django_components.app_settings.ComponentsSettings.app_dirs><code>COMPONENTS.app_dirs</code></a> (e.g. <code>[app]/components</code>).</p> <p><strong>Notes:</strong></p> <ul> <li> <p>Paths that do not point to directories are ignored.</p> </li> <li> <p><code>BASE_DIR</code> setting is required.</p> </li> <li> <p>The paths in <a href=../settings#django_components.app_settings.ComponentsSettings.dirs><code>COMPONENTS.dirs</code></a> must be absolute paths.</p> </li> </ul> </div> </div> <div class="doc doc-object doc-function"> <h2 id=django_components.get_component_files class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_component_files</span> <a href=#django_components.get_component_files 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>get_component_files</span><span class=p>(</span><span class=n>suffix</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> <span class=o>-&gt;</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><span class=p>[</span><span class=n><a class="autorefs autorefs-internal" title=" ComponentFileEntry (django_components.util.loader.ComponentFileEntry)" href=#django_components.ComponentFileEntry>ComponentFileEntry</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/util/loader.py#L119 target=_blank>See source code</a></p> <p>Search for files within the component directories (as defined in <a href=../api#django_components.get_component_dirs><code>get_component_dirs()</code></a>).</p> <p>Requires <code>BASE_DIR</code> setting to be set.</p> <p>Subdirectories and files starting with an underscore <code>_</code> (except <code>__init__.py</code>) are ignored.</p> <p><span class=doc-section-title>Parameters:</span></p> <ul> <li class="doc-section-item field-body"> <b><code>suffix</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>, default: <code>None</code> ) <div class=doc-md-description> <p>The suffix to search for. E.g. <code>.py</code>, <code>.js</code>, <code>.css</code>. Defaults to <code>None</code>, which will search for all files.</p> </div> </li> </ul> <p><span class=doc-section-title>Returns:</span></p> <ul> <li class="doc-section-item field-body"> <code><a class="autorefs autorefs-external" title=typing.List href=https://docs.python.org/3.12/library/typing.html#typing.List>List</a>[<a class="autorefs autorefs-internal" title=" ComponentFileEntry (django_components.util.loader.ComponentFileEntry)" href=#django_components.ComponentFileEntry>ComponentFileEntry</a>]</code> <div class=doc-md-description> <p>List[ComponentFileEntry] A list of entries that contain both the filesystem path and the python import path (dot path).</p> </div> </li> </ul> <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>get_component_files</span>
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

File diff suppressed because one or more lines are too long

View file

@ -2,542 +2,542 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://django-components.github.io/django-components/latest/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/migrating_from_safer_staticfiles/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/code_of_conduct/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/contributing/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/development/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/help/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/devguides/dependency_mgmt/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/devguides/slot_rendering/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/community/devguides/slots_and_blocks/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_caching/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_context_scope/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_libraries/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/component_registry/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/extensions/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/hooks/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/html_fragments/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/provide_inject/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/rendering_js_css/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/tag_formatters/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/template_tags/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/advanced/testing/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/autodiscovery/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/component_defaults/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/component_views_urls/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/html_js_css_files/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/html_js_css_variables/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/http_request/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/render_api/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/rendering_components/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/secondary_js_css_files/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/single_file_components/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/slots/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/subclassing_components/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/concepts/fundamentals/typing_and_validation/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/examples/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/examples/form/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/examples/tabs/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/adding_js_and_css/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/adding_slots/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/components_in_templates/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/installation/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/parametrising_components/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/rendering_components/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/getting_started/your_first_component/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/other/troubleshooting/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/setup/caching/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/guides/setup/development_server/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/compatibility/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/license/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/performance/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/security_notes/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/overview/welcome/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/plugins/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/api/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/commands/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/components/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/exceptions/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/extension_commands/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/extension_hooks/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/extension_urls/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/settings/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/signals/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/tag_formatters/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/template_tags/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/template_variables/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/testing_api/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/reference/urls/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.100/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.110/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.111/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.112/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.113/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.114/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.115/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.116/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.117/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.118/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.119/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.120/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.121/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.122/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.123/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.124/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.125/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.126/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.127/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.128/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.129/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.130/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.131/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.132/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.133/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.134/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.135/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.136/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.137/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.138/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.139.0/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.139.1/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.140.0/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.140.1/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.0/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.1/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.2/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.3/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.4/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.5/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.141.6/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.142.0/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.17/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.22/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.26/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.27/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.28/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.34/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.50/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.67/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.70/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.74/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.77/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.79/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.80/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.81/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.85/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.90/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.92/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.93/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.94/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.95/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.96/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/releases/v0.97/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
<url>
<loc>https://django-components.github.io/django-components/latest/upgrading/v0/</loc>
<lastmod>2025-09-30</lastmod>
<lastmod>2025-10-02</lastmod>
</url>
</urlset>

Binary file not shown.

View file

@ -1,7 +1,7 @@
[
{
"version": "dev",
"title": "dev (8957bef)",
"title": "dev (9101282)",
"aliases": []
},
{