{"title":"Så här distribuerar du statiska filer","version":"5.2","locale":"sv","docname":"howto/static-files/deployment","url":"/sv/5.2/howto/static-files/deployment/","canonical":"https://djangodocs.dev/sv/5.2/howto/static-files/deployment/","summary":"Den grundläggande beskrivningen av att sätta statiska filer i produktion består av två steg: kör kommandot collectstatic när statiska filer ändras, ordna…","html":"<h1>Så här distribuerar du statiska filer<a class=\"heading-anchor\" href=\"#how-to-deploy-static-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">Se även</p>\n<p>För en introduktion till användningen av <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.staticfiles</code></a>, se <a class=\"reference internal\" href=\"/sv/5.2/howto/static-files/\"><span class=\"doc\">Hur man hanterar statiska filer (t.ex. bilder, JavaScript, CSS)</span></a>.</p>\n</aside>\n<section id=\"serving-static-files-in-production\">\n<span id=\"staticfiles-production\"></span><h2>Servering av statiska filer i produktion<a class=\"heading-anchor\" href=\"#serving-static-files-in-production\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Den grundläggande beskrivningen av att sätta statiska filer i produktion består av två steg: kör kommandot <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> när statiska filer ändras, ordna sedan så att den samlade katalogen för statiska filer (<a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a>) flyttas till servern för statiska filer och serveras. Beroende på aliaset <code class=\"docutils literal notranslate\">staticfiles</code> <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a> kan filer behöva flyttas till en ny plats manuellt eller så kan metoden <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#django.contrib.staticfiles.storage.StaticFilesStorage.post_process\" title=\"django.contrib.staticfiles.storage.StaticFilesStorage.post_process\"><code class=\"xref py py-func docutils literal notranslate\">post_process</code></a> i klassen <code class=\"docutils literal notranslate\">Storage</code> ta hand om det.</p>\n<p>Som med alla driftsättningsuppgifter ligger djävulen i detaljerna. Varje produktionsinstallation kommer att vara lite annorlunda, så du måste anpassa den grundläggande skissen för att passa dina behov. Nedan finns några vanliga mönster som kan vara till hjälp.</p>\n<section id=\"serving-the-site-and-your-static-files-from-the-same-server\">\n<h3>Servera webbplatsen och dina statiska filer från samma server<a class=\"heading-anchor\" href=\"#serving-the-site-and-your-static-files-from-the-same-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Om du vill servera dina statiska filer från samma server som redan serverar din webbplats kan processen se ut ungefär som följer:</p>\n<ul class=\"simple\">\n<li><p>Skicka upp din kod till deployment-servern.</p></li>\n<li><p>På servern kör du <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> för att kopiera alla statiska filer till <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a>.</p></li>\n<li><p>Konfigurera din webbserver så att den serverar filerna i <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> under URL:en <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a>. Här är till exempel <a class=\"reference internal\" href=\"/sv/5.2/howto/deployment/wsgi/modwsgi/#serving-files\"><span class=\"std std-ref\">hur man gör detta med Apache och mod_wsgi</span></a>.</p></li>\n</ul>\n<p>Du kommer förmodligen att vilja automatisera den här processen, särskilt om du har flera webbservrar.</p>\n</section>\n<section id=\"serving-static-files-from-a-dedicated-server\">\n<h3>Servering av statiska filer från en dedikerad server<a class=\"heading-anchor\" href=\"#serving-static-files-from-a-dedicated-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>De flesta större Django-webbplatser använder en separat webbserver - dvs. en som inte också kör Django - för att servera statiska filer. Denna server kör ofta en annan typ av webbserver - snabbare men mindre fullfjädrad. Några vanliga val är:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://nginx.org/en/\">Nginx</a></p></li>\n<li><p>En avskalad version av <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a></p></li>\n</ul>\n<p>Konfigurationen av dessa servrar omfattas inte av detta dokument; se respektive servers dokumentation för instruktioner.</p>\n<p>Eftersom din statiska filserver inte kommer att köra Django måste du ändra distributionsstrategin så att den ser ut ungefär som följer:</p>\n<ul class=\"simple\">\n<li><p>När dina statiska filer ändras kör du <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> lokalt.</p></li>\n<li><p>Skicka din lokala <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_ROOT</code></a> upp till den statiska filservern till den katalog som serveras. <a class=\"reference external\" href=\"https://rsync.samba.org/\">rsync</a> är ett vanligt val för det här steget eftersom det bara behöver överföra de delar av statiska filer som har ändrats.</p></li>\n</ul>\n</section>\n<section id=\"serving-static-files-from-a-cloud-service-or-cdn\">\n<span id=\"staticfiles-from-cdn\"></span><h3>Servering av statiska filer från en molntjänst eller CDN<a class=\"heading-anchor\" href=\"#serving-static-files-from-a-cloud-service-or-cdn\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>En annan vanlig taktik är att servera statiska filer från en molnlagringsleverantör som Amazons S3 och/eller ett CDN (content delivery network). Detta gör att du kan ignorera problemen med att servera statiska filer och kan ofta ge snabbare laddning av webbsidor (särskilt när du använder ett CDN).</p>\n<p>När du använder dessa tjänster ser det grundläggande arbetsflödet ut ungefär som ovan, förutom att du istället för att använda <code class=\"docutils literal notranslate\">rsync</code> för att överföra dina statiska filer till servern måste överföra de statiska filerna till lagringsleverantören eller CDN.</p>\n<p>Det finns ett antal olika sätt att göra detta på, men om leverantören har ett API kan du använda <a class=\"reference internal\" href=\"/sv/5.2/howto/custom-file-storage/\"><span class=\"doc\">custom file storage backend</span></a> för att integrera CDN med ditt Django-projekt. Om du har skrivit eller använder en anpassad lagringsbackend från tredje part kan du berätta för <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> att använda den genom att ställa in <code class=\"docutils literal notranslate\">staticfiles</code> i <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a>.</p>\n<p>Om du till exempel har skrivit en S3-lagringsbackend i <code class=\"docutils literal notranslate\">myproject.storage.S3Storage</code> kan du använda den med:</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>STORAGES <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"s2\">&quot;staticfiles&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span><span class=\"s2\">&quot;BACKEND&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;myproject.storage.S3Storage&quot;</span><span class=\"p\">}</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n<p>När det är gjort är allt du behöver göra att köra <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\">collectstatic</code></a> och dina statiska filer kommer att skjutas genom ditt lagringspaket upp till S3. Om du senare behöver byta till en annan lagringsleverantör kan du bara behöva ändra <code class=\"docutils literal notranslate\">staticfiles</code> i inställningen <a class=\"reference internal\" href=\"/sv/5.2/ref/settings/#std-setting-STORAGES\"><code class=\"xref std std-setting docutils literal notranslate\">STORAGES</code></a>.</p>\n<p>För detaljer om hur du skriver en av dessa backends, se <a class=\"reference internal\" href=\"/sv/5.2/howto/custom-file-storage/\"><span class=\"doc\">Så här skriver du en anpassad lagringsklass</span></a>. Det finns appar från tredje part som tillhandahåller lagringsbackends för många vanliga API:er för fillagring. En bra startpunkt är <a class=\"reference external\" href=\"https://djangopackages.org/grids/g/storage-backends/\">översikten på djangopackages.org</a>.</p>\n</section>\n</section>\n<section id=\"learn-more\">\n<h2>Läs mer<a class=\"heading-anchor\" href=\"#learn-more\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>För fullständig information om alla inställningar, kommandon, malltaggar och andra delar som ingår i <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.staticfiles</code></a>, se <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/staticfiles/\"><span class=\"doc\">the staticfiles reference</span></a>.</p>\n</section>","rootId":"how-to-deploy-static-files","toc":[{"title":"Servering av statiska filer i produktion","anchor":"serving-static-files-in-production","children":[{"title":"Servera webbplatsen och dina statiska filer från samma server","anchor":"serving-the-site-and-your-static-files-from-the-same-server","children":[]},{"title":"Servering av statiska filer från en dedikerad server","anchor":"serving-static-files-from-a-dedicated-server","children":[]},{"title":"Servering av statiska filer från en molntjänst eller CDN","anchor":"serving-static-files-from-a-cloud-service-or-cdn","children":[]}]},{"title":"Läs mer","anchor":"learn-more","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Hur man gör-guider","url":"/sv/5.2/howto/"}],"prev":{"docname":"howto/deployment/checklist","title":"Checklista för driftsättning","url":"/sv/5.2/howto/deployment/checklist/"},"next":{"docname":"howto/auth-remote-user","title":"Hur man autentiserar med hjälp av REMOTE_USER","url":"/sv/5.2/howto/auth-remote-user/"},"formats":{"html":"/sv/5.2/howto/static-files/deployment/","markdown":"/sv/5.2/howto/static-files/deployment.md","json":"/sv/5.2/howto/static-files/deployment.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/howto/static-files/deployment.txt","official":"https://docs.djangoproject.com/sv/5.2/howto/static-files/deployment/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}