{"title":"TemplateResponse och SimpleTemplateResponse","version":"5.2","locale":"sv","docname":"ref/template-response","url":"/sv/5.2/ref/template-response/","canonical":"https://djangodocs.dev/sv/5.2/ref/template-response/","summary":"Standard HttpResponse -objekt är statiska strukturer. De förses med ett block av förrenderat innehåll vid konstruktionstillfället, och även om detta innehåll kan…","html":"<span id=\"templateresponse-and-simpletemplateresponse\"></span><h1><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code><a class=\"heading-anchor\" href=\"#module-django.template.response\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Standard <a class=\"reference internal\" href=\"/sv/5.2/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code></a>-objekt är statiska strukturer. De förses med ett block av förrenderat innehåll vid konstruktionstillfället, och även om detta innehåll kan ändras är det inte i en form som gör det enkelt att utföra ändringar.</p>\n<p>Ibland kan det dock vara fördelaktigt att låta dekoratorer eller mellanprogram modifiera ett svar <em>efter</em> att det har konstruerats av vyn. Du kanske t.ex. vill ändra den mall som används eller lägga in ytterligare data i kontexten.</p>\n<p>TemplateResponse tillhandahåller ett sätt att göra just det. Till skillnad från grundläggande <a class=\"reference internal\" href=\"/sv/5.2/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code></a>-objekt behåller TemplateResponse-objekt detaljerna i mallen och sammanhanget som tillhandahölls av vyn för att beräkna svaret. Den slutliga utgången av svaret beräknas inte förrän den behövs, senare i svarsprocessen.</p>\n<section id=\"simpletemplateresponse-objects\">\n<h2>objekt av typen <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>SimpleTemplateResponse<a class=\"heading-anchor\" href=\"#simpletemplateresponse-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SimpleTemplateResponse</span></span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<section id=\"attributes\">\n<h3>Attribut<a class=\"heading-anchor\" href=\"#attributes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.template_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">template_name</span></span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.template_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Namnet på den mall som ska återges. Accepterar ett backend-beroende mallobjekt (t.ex. de som returneras av <a class=\"reference internal\" href=\"/sv/5.2/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_template()</span></code></a>), namnet på en mall eller en lista med mallnamn.</p>\n<p>Exempel: <code class=\"docutils literal notranslate\"><span class=\"pre\">['foo.html',</span> <span class=\"pre\">'path/to/bar.html']</span></code></p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.context_data\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">context_data</span></span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.context_data\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>De kontextdata som ska användas när mallen renderas. Det måste vara en <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a>.</p>\n<p>Exempel: <code class=\"docutils literal notranslate\"><span class=\"pre\">{'foo':</span> <span class=\"pre\">123}</span></code></p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.rendered_content\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">rendered_content</span></span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.rendered_content\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det aktuella renderade värdet av svarsinnehållet, med hjälp av den aktuella mallen och kontextdata.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.is_rendered\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">is_rendered</span></span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.is_rendered\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ett boolean som anger om svarsinnehållet har återgivits.</p>\n</dd></dl>\n\n</section>\n<section id=\"methods\">\n<h3>Metoder<a class=\"heading-anchor\" href=\"#methods\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.__init__\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">__init__</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">status</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">charset</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">using</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">headers</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.__init__\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Instansierar ett <a class=\"reference internal\" href=\"#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a>-objekt med den angivna mallen, kontexten, innehållstypen, HTTP-statusen och teckenuppsättningen.</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">mall</span></code></dt><dd><p>Ett backendberoende mallobjekt (t.ex. de som returneras av <a class=\"reference internal\" href=\"/sv/5.2/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_template()</span></code></a>), namnet på en mall eller en lista med mallnamn.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">kontext</span></code></dt><dd><p>En <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> med värden som ska läggas till i mallkontexten. Som standard är detta en tom ordbok.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">innehållstyp</span></code></dt><dd><p>Det värde som ingår i HTTP-rubriken <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Type</span></code>, inklusive specifikationen för MIME-typen och teckenkodningen. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> anges, används dess värde. I annat fall används <code class=\"docutils literal notranslate\"><span class=\"pre\">'text/html</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">status</span></code></dt><dd><p>HTTP-statuskoden för svaret.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">teckensnittsuppsättning</span></code></dt><dd><p>Den teckenuppsättning som svaret kommer att kodas med. Om det inte anges kommer det att extraheras från <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code>, och om det inte lyckas kommer inställningen <code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_CHARSET`</span></code> att användas.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p><a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> för en mallmotor som ska användas för att ladda mallen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">headers</span></code></dt><dd><p>En <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> av HTTP-rubriker som ska läggas till i svaret.</p>\n</dd>\n</dl>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.resolve_context\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">resolve_context</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.resolve_context\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Förbehandlar kontextdata som kommer att användas för att rendera en mall. Accepterar en <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> av kontextdata. Returnerar som standard samma <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a>.</p>\n<p>Åsidosätt denna metod för att anpassa sammanhanget.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.resolve_template\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">resolve_template</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.resolve_template\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Bestämmer vilken mallinstans som ska användas för rendering. Accepterar ett backend-beroende mallobjekt (t.ex. de som returneras av <a class=\"reference internal\" href=\"/sv/5.2/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_template()</span></code></a>), namnet på en mall eller en lista med mallnamn.</p>\n<p>Returnerar den backend-beroende mallobjektinstansen som ska renderas.</p>\n<p>Åsidosätt denna metod för att anpassa laddning av mallar.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.add_post_render_callback\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">add_post_render_callback</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.add_post_render_callback\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Lägg till en callback som kommer att anropas efter att rendering har ägt rum. Den här hook kan användas för att skjuta upp vissa bearbetningsoperationer (t.ex. cachelagring) till efter att renderingen har ägt rum.</p>\n<p>Om <a class=\"reference internal\" href=\"#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a> redan har renderats, kommer återuppringningen att anropas omedelbart.</p>\n<p>När callbacks anropas kommer de att få ett enda argument - den renderade <a class=\"reference internal\" href=\"#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a>-instansen.</p>\n<p>Om återuppringningen returnerar ett värde som inte är <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, kommer detta att användas som svar i stället för det ursprungliga svarsobjektet (och kommer att skickas till nästa återuppringning av postrendering etc.)</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.SimpleTemplateResponse.render\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">SimpleTemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">render</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.template.response.SimpleTemplateResponse.render\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sätter <code class=\"docutils literal notranslate\"><span class=\"pre\">response.content</span></code> till det resultat som erhålls genom <a class=\"reference internal\" href=\"#django.template.response.SimpleTemplateResponse.rendered_content\" title=\"django.template.response.SimpleTemplateResponse.rendered_content\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse.rendered_content</span></code></a>, kör alla callbacks efter rendering och returnerar det resulterande svarsobjektet.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">render()</span></code> kommer bara att ha effekt första gången den anropas. Vid efterföljande anrop returneras det resultat som erhölls vid det första anropet.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"templateresponse-objects\">\n<h2>objekt av typen <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>TemplateResponse<a class=\"heading-anchor\" href=\"#templateresponse-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.TemplateResponse\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TemplateResponse</span></span><a class=\"heading-anchor\" href=\"#django.template.response.TemplateResponse\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> är en underklass till <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse`</span></code> som känner till den aktuella <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpRequest`</span></code>.</p>\n</dd></dl>\n\n<section id=\"id1\">\n<h3>Metoder<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.template.response.TemplateResponse.__init__\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">TemplateResponse.</span></span><span class=\"sig-name descname\"><span class=\"pre\">__init__</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">status</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">charset</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">using</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">headers</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.template.response.TemplateResponse.__init__\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Instansierar ett <a class=\"reference internal\" href=\"#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a>-objekt med den angivna begäran, mallen, kontexten, innehållstypen, HTTP-statusen och teckenuppsättningen.</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">begäran</span></code></dt><dd><p>En <a class=\"reference internal\" href=\"/sv/5.2/ref/request-response/#django.http.HttpRequest\" title=\"django.http.HttpRequest\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpRequest</span></code></a>-instans.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">mall</span></code></dt><dd><p>Ett backendberoende mallobjekt (t.ex. de som returneras av <a class=\"reference internal\" href=\"/sv/5.2/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_template()</span></code></a>), namnet på en mall eller en lista med mallnamn.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">kontext</span></code></dt><dd><p>En <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> med värden som ska läggas till i mallkontexten. Som standard är detta en tom ordbok.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">innehållstyp</span></code></dt><dd><p>Det värde som ingår i HTTP-rubriken <code class=\"docutils literal notranslate\"><span class=\"pre\">Content-Type</span></code>, inklusive specifikationen för MIME-typen och teckenkodningen. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> anges, används dess värde. I annat fall används <code class=\"docutils literal notranslate\"><span class=\"pre\">'text/html</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">status</span></code></dt><dd><p>HTTP-statuskoden för svaret.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">teckensnittsuppsättning</span></code></dt><dd><p>Den teckenuppsättning som svaret kommer att kodas med. Om det inte anges kommer det att extraheras från <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code>, och om det inte lyckas kommer inställningen <code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_CHARSET`</span></code> att användas.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">använder</span></code></dt><dd><p><a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> för en mallmotor som ska användas för att ladda mallen.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">headers</span></code></dt><dd><p>En <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> av HTTP-rubriker som ska läggas till i svaret.</p>\n</dd>\n</dl>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"the-rendering-process\">\n<h2>Renderingsprocessen<a class=\"heading-anchor\" href=\"#the-rendering-process\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Innan en instans av <a class=\"reference internal\" href=\"#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> kan returneras till klienten måste den renderas. Renderingsprocessen tar den mellanliggande representationen av mall och kontext och förvandlar den till den slutliga byte-strömmen som kan serveras till klienten.</p>\n<p>Det finns tre omständigheter under vilka ett <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> kommer att återges:</p>\n<ul class=\"simple\">\n<li><p>När <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code>-instansen uttryckligen renderas med hjälp av metoden <a class=\"reference internal\" href=\"#django.template.response.SimpleTemplateResponse.render\" title=\"django.template.response.SimpleTemplateResponse.render\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse.render()</span></code></a>.</p></li>\n<li><p>När innehållet i svaret uttryckligen anges genom att tilldela <code class=\"docutils literal notranslate\"><span class=\"pre\">response.content</span></code>.</p></li>\n<li><p>Efter att ha passerat genom middleware för mallsvar, men innan den passerar genom middleware för svar.</p></li>\n</ul>\n<p>En <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> kan bara renderas en gång. Det första anropet till <a class=\"reference internal\" href=\"#django.template.response.SimpleTemplateResponse.render\" title=\"django.template.response.SimpleTemplateResponse.render\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse.render()</span></code></a> anger svarets innehåll; efterföljande renderingsanrop ändrar inte svarets innehåll.</p>\n<p>Men när <code class=\"docutils literal notranslate\"><span class=\"pre\">response.content</span></code> uttryckligen tilldelas tillämpas ändringen alltid. Om du vill tvinga innehållet att återskapas kan du omvärdera det återskapade innehållet och tilldela innehållet i svaret manuellt:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"go\"># Set up a rendered TemplateResponse</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.template.response</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplateResponse</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">TemplateResponse</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;original.html&quot;</span><span class=\"p\">,</span> <span class=\"p\">{})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">content</span><span class=\"p\">)</span>\n<span class=\"go\">Original content</span>\n\n<span class=\"go\"># Re-rendering doesn&#39;t change content</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">template_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;new.html&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">content</span><span class=\"p\">)</span>\n<span class=\"go\">Original content</span>\n\n<span class=\"go\"># Assigning content does change, no render() call required</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">content</span> <span class=\"o\">=</span> <span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">rendered_content</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">content</span><span class=\"p\">)</span>\n<span class=\"go\">New content</span>\n</code></pre></div>\n<section id=\"post-render-callbacks\">\n<h3>Återkallelser efter rendering<a class=\"heading-anchor\" href=\"#post-render-callbacks\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Vissa åtgärder - t.ex. cachelagring - kan inte utföras på en mall som inte är renderad. De måste utföras på ett helt komplett och renderat svar.</p>\n<p>Om du använder middleware kan du göra det. Middleware ger flera möjligheter att bearbeta ett svar vid avslut från en vy. Om du lägger in ett beteende i svarsmellanvaran är det garanterat att det körs efter att mallrenderingen har ägt rum.</p>\n<p>Men om du använder en dekorator finns inte samma möjligheter. Alla beteenden som definieras i en dekorator hanteras omedelbart.</p>\n<p>För att kompensera för detta (och andra liknande användningsfall) kan du i <a class=\"reference internal\" href=\"#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> registrera callbacks som anropas när renderingen har slutförts. Med hjälp av denna callback kan du skjuta upp kritisk bearbetning till en punkt där du kan garantera att renderat innehåll kommer att vara tillgängligt.</p>\n<p>För att definiera en återuppringning efter rendering definierar du en funktion som tar ett enda argument – response – och registrerar funktionen med mallen response:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.template.response</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplateResponse</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_render_callback</span><span class=\"p\">(</span><span class=\"n\">response</span><span class=\"p\">):</span>\n    <span class=\"c1\"># Do content-sensitive processing</span>\n    <span class=\"n\">do_post_processing</span><span class=\"p\">()</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"c1\"># Create a response</span>\n    <span class=\"n\">response</span> <span class=\"o\">=</span> <span class=\"n\">TemplateResponse</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;mytemplate.html&quot;</span><span class=\"p\">,</span> <span class=\"p\">{})</span>\n    <span class=\"c1\"># Register the callback</span>\n    <span class=\"n\">response</span><span class=\"o\">.</span><span class=\"n\">add_post_render_callback</span><span class=\"p\">(</span><span class=\"n\">my_render_callback</span><span class=\"p\">)</span>\n    <span class=\"c1\"># Return the response</span>\n    <span class=\"k\">return</span> <span class=\"n\">response</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">my_render_callback()</span></code> kommer att anropas efter att <code class=\"docutils literal notranslate\"><span class=\"pre\">mytemplate.html</span></code> har renderats, och kommer att få den fullständigt renderade <a class=\"reference internal\" href=\"#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a>-instansen som argument.</p>\n<p>Om mallen redan har renderats kommer återuppringningen att anropas omedelbart.</p>\n</section>\n</section>\n<section id=\"using-templateresponse-and-simpletemplateresponse\">\n<h2>Använda <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code><a class=\"heading-anchor\" href=\"#using-templateresponse-and-simpletemplateresponse\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ett <a class=\"reference internal\" href=\"#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a>-objekt kan användas var som helst där ett vanligt <a class=\"reference internal\" href=\"/sv/5.2/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.http.HttpResponse</span></code></a> kan användas. Det kan också användas som ett alternativ till att anropa <a class=\"reference internal\" href=\"/sv/5.2/topics/http/shortcuts/#django.shortcuts.render\" title=\"django.shortcuts.render\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">render()</span></code></a>.</p>\n<p>Följande vy returnerar till exempel en <a class=\"reference internal\" href=\"#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> med en mall och en kontext som innehåller en frågeuppsättning:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.template.response</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplateResponse</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">blog_index</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"k\">return</span> <span class=\"n\">TemplateResponse</span><span class=\"p\">(</span>\n        <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s2\">&quot;entry_list.html&quot;</span><span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"s2\">&quot;entries&quot;</span><span class=\"p\">:</span> <span class=\"n\">Entry</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()}</span>\n    <span class=\"p\">)</span>\n</code></pre></div>\n</section>","rootId":"module-django.template.response","toc":[{"title":"objekt av typen ``SimpleTemplateResponse","anchor":"simpletemplateresponse-objects","children":[{"title":"Attribut","anchor":"attributes","children":[]},{"title":"Metoder","anchor":"methods","children":[]}]},{"title":"objekt av typen ``TemplateResponse","anchor":"templateresponse-objects","children":[{"title":"Metoder","anchor":"id1","children":[]}]},{"title":"Renderingsprocessen","anchor":"the-rendering-process","children":[{"title":"Återkallelser efter rendering","anchor":"post-render-callbacks","children":[]}]},{"title":"Använda TemplateResponse och SimpleTemplateResponse","anchor":"using-templateresponse-and-simpletemplateresponse","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/5.2/ref/"}],"prev":{"docname":"ref/templates/api","title":"Djangos mallspråk: för Python-programmerare","url":"/sv/5.2/ref/templates/api/"},"next":{"docname":"ref/unicode","title":"Unicode-data","url":"/sv/5.2/ref/unicode/"},"formats":{"html":"/sv/5.2/ref/template-response/","markdown":"/sv/5.2/ref/template-response.md","json":"/sv/5.2/ref/template-response.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/template-response.txt","official":"https://docs.djangoproject.com/sv/5.2/ref/template-response/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}