{"title":"Come utilizzare Django con Uvicorn","version":"5.2","locale":"it","docname":"howto/deployment/asgi/uvicorn","url":"/it/5.2/howto/deployment/asgi/uvicorn/","canonical":"https://djangodocs.dev/it/5.2/howto/deployment/asgi/uvicorn/","summary":"Uvicorn è un server ASGI basato su uvloop e httptools, con enfasi sulla velocità.","html":"<h1>Come utilizzare Django con Uvicorn<a class=\"heading-anchor\" href=\"#how-to-use-django-with-uvicorn\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><a class=\"reference external\" href=\"https://www.uvicorn.org/\">Uvicorn</a> è un server ASGI basato su <code class=\"docutils literal notranslate\">uvloop</code> e <code class=\"docutils literal notranslate\">httptools</code>, con enfasi sulla velocità.</p>\n<section id=\"installing-uvicorn\">\n<h2>Installare Uvicorn<a class=\"heading-anchor\" href=\"#installing-uvicorn\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>You can install Uvicorn with <code class=\"docutils literal notranslate\">pip</code>:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>python -m pip install uvicorn\n</code></pre></div>\n</section>\n<section id=\"running-django-in-uvicorn\">\n<h2>Avviare Django in Uvicorn<a class=\"heading-anchor\" href=\"#running-django-in-uvicorn\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Quando Uvicorn è installato, è disponibile un comando <code class=\"docutils literal notranslate\">uvicorn</code>, che fa girare le applicazioni ASGI. Uvicorn necessita di essere chiamato dalla locazione di un modulo contenente un oggetto di applicazione ASGI, seguito da come si chiama l’applicazione (separati dai due punti).</p>\n<p>For a typical Django project, invoking Uvicorn would look like:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>python -m uvicorn myproject.asgi:application\n</code></pre></div>\n<p>Questo avvierà il processo che ascolta su <code class=\"docutils literal notranslate\">127.0.0.1:8000</code>. Richiede che il tuo progetto sia sul percorso di Python; per assicurartene, lancia questo comando dalla stessa directory del tuo file <code class=\"docutils literal notranslate\">manage.py</code>.</p>\n<p>In modalità sviluppo, puoi aggiungere «–reload» per ottenere il riavvio del server ogni volta che un file sul disco viene modificato.</p>\n<p>Per utilizzi più avanzati, leggi la <a class=\"reference external\" href=\"https://www.uvicorn.org/\">documentazione di Uvicorn</a>.</p>\n</section>\n<section id=\"deploying-django-using-uvicorn-and-gunicorn\">\n<h2>Distribuisci Django usando Uvicorn e Gunicorn<a class=\"heading-anchor\" href=\"#deploying-django-using-uvicorn-and-gunicorn\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Gunicorn p un robusto server web che implementa il monitoraggio del processo ed il riavvio automatico. Questo può essere utile quando scegli di utilizzare Uvicorn in ambiente di produzione.</p>\n<p>To install Uvicorn and Gunicorn, use the following:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>python -m pip install uvicorn uvicorn-worker gunicorn\n</code></pre></div>\n<p>Then start Gunicorn using the Uvicorn worker class like this:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker\n</code></pre></div>\n</section>","rootId":"how-to-use-django-with-uvicorn","toc":[{"title":"Installare Uvicorn","anchor":"installing-uvicorn","children":[]},{"title":"Avviare Django in Uvicorn","anchor":"running-django-in-uvicorn","children":[]},{"title":"Distribuisci Django usando Uvicorn e Gunicorn","anchor":"deploying-django-using-uvicorn-and-gunicorn","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"How-to guides","url":"/it/5.2/howto/"},{"docname":"howto/deployment/index","title":"Come distribuire Django","url":"/it/5.2/howto/deployment/"},{"docname":"howto/deployment/asgi/index","title":"Come distribuire con ASGI.","url":"/it/5.2/howto/deployment/asgi/"}],"prev":{"docname":"howto/deployment/asgi/hypercorn","title":"Come utilizzare Django con Hypercorn","url":"/it/5.2/howto/deployment/asgi/hypercorn/"},"next":{"docname":"howto/deployment/checklist","title":"Lista dei controlli per la distribuzione","url":"/it/5.2/howto/deployment/checklist/"},"formats":{"html":"/it/5.2/howto/deployment/asgi/uvicorn/","markdown":"/it/5.2/howto/deployment/asgi/uvicorn.md","json":"/it/5.2/howto/deployment/asgi/uvicorn.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/howto/deployment/asgi/uvicorn.txt","official":"https://docs.djangoproject.com/it/5.2/howto/deployment/asgi/uvicorn/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}