Deployed c72fed82 to dev with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
github-actions 2025-08-14 09:34:46 +00:00
parent 36389a6760
commit 5dc360f9ea
7 changed files with 40 additions and 40 deletions

View file

@ -651,7 +651,7 @@
</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#L2128 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#L2191 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#L2666 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#L2838 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#L2839 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>
@ -692,7 +692,7 @@
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#L2687 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>Inserts extra script to allow <code>fragment</code> types to work.</li> <li>Assumes the HTML will be rendered in a JS-enabled browser.</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>No JS / CSS included.</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#L2687 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#L2214 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#L2387 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>
@ -720,7 +720,7 @@
<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#L2793 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#L2794 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#L1171 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>
@ -791,7 +791,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#L2747 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#L2748 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>
@ -808,7 +808,7 @@
<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#L2720 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#L2721 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>
@ -851,8 +851,8 @@
</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#L2741 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#L2808 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#L2742 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#L2809 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>
@ -922,7 +922,7 @@
</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#L775 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#L2175 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#L2939 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#L2940 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#L922 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>
@ -1101,7 +1101,7 @@
<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#L791 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#L2891 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#L2892 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>
@ -1221,7 +1221,7 @@
<a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></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> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
<a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></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> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
<a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a><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#L3054 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#L3055 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>
@ -1260,7 +1260,7 @@
<a id=__codelineno-6-10 name=__codelineno-6-10 href=#__codelineno-6-10></a> <span class=c1># Update context with icon</span>
<a id=__codelineno-6-11 name=__codelineno-6-11 href=#__codelineno-6-11></a> <span class=k>with</span> <span class=n>context</span><span class=o>.</span><span class=n>update</span><span class=p>({</span><span class=s2>&quot;icon&quot;</span><span class=p>:</span> <span class=n>icon</span><span class=p>}):</span>
<a id=__codelineno-6-12 name=__codelineno-6-12 href=#__codelineno-6-12></a> <span class=k>return</span> <span class=n>template</span><span class=o>.</span><span class=n>render</span><span class=p>(</span><span class=n>context</span><span class=p>)</span>
</code></pre></div> <p>Whether the 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> </li> <li> <p><code>deps_strategy</code> - Optional. Configure how to handle JS and CSS dependencies. Read more about <a href=../../concepts/fundamentals/rendering_components#dependencies-rendering>Dependencies rendering</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>Inserts extra script to allow <code>fragment</code> types to work.</li> <li>Assumes the HTML will be rendered in a JS-enabled browser.</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>No JS / CSS included.</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> </li> <li> <p><code>request</code> - Optional. HTTPRequest object. Pass a request object directly to the component to apply <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context.update>context processors</a>.</p> <p>Read more about <a href=../../concepts/fundamentals/http_request>Working with HTTP requests</a>.</p> </li> </ul> <p><strong>Type hints:</strong></p> <p><code>Component.render()</code> is NOT typed. To add type hints, you can wrap the inputs in component's <a href=../api/#django_components.Component.Args><code>Args</code></a>, <a href=../api/#django_components.Component.Kwargs><code>Kwargs</code></a>, and <a href=../api/#django_components.Component.Slots><code>Slots</code></a> classes.</p> <p>Read more on <a href=../../concepts/fundamentals/typing_and_validation>Typing and validation</a>.</p> <div class=highlight><pre><span></span><code><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-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><span class=p>,</span> <span class=n>Optional</span>
</code></pre></div> <p>Whether the 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> </li> <li> <p><code>deps_strategy</code> - Optional. Configure how to handle JS and CSS dependencies. Read more about <a href=../../concepts/fundamentals/rendering_components#dependencies-rendering>Dependencies rendering</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> </li> <li> <p><code>request</code> - Optional. HTTPRequest object. Pass a request object directly to the component to apply <a href=https://docs.djangoproject.com/en/5.2/ref/templates/api/#django.template.Context.update>context processors</a>.</p> <p>Read more about <a href=../../concepts/fundamentals/http_request>Working with HTTP requests</a>.</p> </li> </ul> <p><strong>Type hints:</strong></p> <p><code>Component.render()</code> is NOT typed. To add type hints, you can wrap the inputs in component's <a href=../api/#django_components.Component.Args><code>Args</code></a>, <a href=../api/#django_components.Component.Kwargs><code>Kwargs</code></a>, and <a href=../api/#django_components.Component.Slots><code>Slots</code></a> classes.</p> <p>Read more on <a href=../../concepts/fundamentals/typing_and_validation>Typing and validation</a>.</p> <div class=highlight><pre><span></span><code><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-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><span class=p>,</span> <span class=n>Optional</span>
<a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-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-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a>
<a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a><span class=c1># Define the component with the types</span>
@ -1314,7 +1314,7 @@
<a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></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> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
<a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a> <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>
<a id=__codelineno-0-15 name=__codelineno-0-15 href=#__codelineno-0-15></a><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#L2964 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#L2965 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>
@ -2039,7 +2039,7 @@
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></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> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
<a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a> <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>
<a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><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#L3802 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#L3804 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>