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