{"title":"Come utilizzare Django con Uvicorn","version":"4.1","locale":"it","docname":"howto/deployment/asgi/uvicorn","url":"/it/4.1/howto/deployment/asgi/uvicorn/","canonical":"https://djangodocs.dev/it/4.1/howto/deployment/asgi/uvicorn/","summary":"Uvicorn è un server ASGI basato su uvloop e httptools , con enfasi sulla velocità. Installare Uvicorn Link to this heading # Puoi installare Uvicorn con pip : Shell…","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\"><span class=\"pre\">uvloop</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">httptools</span></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>Puoi installare Uvicorn con <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code>:</p>\n<div class=\"code-block\" data-language=\"bash\"><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<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>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\"><span class=\"pre\">uvicorn</span></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>In un tipico progetto Django, avviare Uvicorn in questo modo:</p>\n<div class=\"code-block\" data-language=\"bash\"><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<span class=\"w\"> </span>-m<span class=\"w\"> </span>uvicorn<span class=\"w\"> </span>myproject.asgi:application\n</code></pre></div>\n<p>Questo avvierà il processo che ascolta su <code class=\"docutils literal notranslate\"><span class=\"pre\">127.0.0.1:8000</span></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\"><span class=\"pre\">manage.py</span></code>.</p>\n<p>In development mode, you can add <code class=\"docutils literal notranslate\"><span class=\"pre\">--reload</span></code> to cause the server to reload any\ntime a file is changed on disk.</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>Deploying Django using Uvicorn and 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><a class=\"reference external\" href=\"https://gunicorn.org/\">Gunicorn</a> is a robust web server that implements process monitoring and automatic\nrestarts. This can be useful when running Uvicorn in a production environment.</p>\n<p>To install Uvicorn and Gunicorn, use the following:</p>\n<div class=\"code-block\" data-language=\"bash\"><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<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>uvicorn<span class=\"w\"> </span>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=\"bash\"><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<span class=\"w\"> </span>-m<span class=\"w\"> </span>gunicorn<span class=\"w\"> </span>myproject.asgi:application<span class=\"w\"> </span>-k<span class=\"w\"> </span>uvicorn.workers.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":"Deploying Django using Uvicorn and Gunicorn","anchor":"deploying-django-using-uvicorn-and-gunicorn","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"guide «How-to»","url":"/it/4.1/howto/"},{"docname":"howto/deployment/index","title":"Come distribuire Django","url":"/it/4.1/howto/deployment/"},{"docname":"howto/deployment/asgi/index","title":"Come distribuire con ASGI.","url":"/it/4.1/howto/deployment/asgi/"}],"prev":{"docname":"howto/deployment/asgi/hypercorn","title":"Come utilizzare Django con Hypercorn","url":"/it/4.1/howto/deployment/asgi/hypercorn/"},"next":{"docname":"howto/deployment/checklist","title":"Lista dei controlli per la distribuzione","url":"/it/4.1/howto/deployment/checklist/"},"formats":{"html":"/it/4.1/howto/deployment/asgi/uvicorn/","markdown":"/it/4.1/howto/deployment/asgi/uvicorn.md","json":"/it/4.1/howto/deployment/asgi/uvicorn.json"},"source":"https://github.com/django/django/blob/stable/4.1.x/docs/howto/deployment/asgi/uvicorn.txt","official":"https://docs.djangoproject.com/it/4.1/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","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}