Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

543
Views
¿Cómo ejecutar Django con el servidor web Uvicorn?

Tengo un proyecto Django ejecutándose en mi máquina local con el servidor manage.py runserver y estoy tratando de ejecutarlo con Uvicorn antes de implementarlo en una máquina virtual. Entonces, en mi entorno virtual, instalé uvicorn e inicié el servidor, pero como puede ver a continuación, no puede encontrar los archivos css estáticos de Django.

 (envdev) user@lenovo:~/python/myproject$ uvicorn myproject.asgi:application --port 8001 Started server process [17426] Waiting for application startup. ASGI 'lifespan' protocol appears unsupported. Application startup complete. Uvicorn running on http://127.0.0.1:8001 (Press CTRL+C to quit) INFO: 127.0.0.1:45720 - "GET /admin/ HTTP/1.1" 200 OK Not Found: /static/admin/css/base.css Not Found: /static/admin/css/base.css INFO: 127.0.0.1:45720 - "GET /static/admin/css/base.css HTTP/1.1" 404 Not Found Not Found: /static/admin/css/dashboard.css Not Found: /static/admin/css/dashboard.css INFO: 127.0.0.1:45724 - "GET /static/admin/css/dashboard.css HTTP/1.1" 404 Not Found Not Found: /static/admin/css/responsive.css Not Found: /static/admin/css/responsive.css INFO: 127.0.0.1:45726 - "GET /static/admin/css/responsive.css HTTP/1.1" 404 Not Found

Uvicorn tiene una opción --root-path así que traté de especificar el directorio donde se encuentran estos archivos, pero aún aparece el mismo error (la ruta es correcta). ¿Cómo puedo solucionar este problema?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Cuando no se esté ejecutando con el servidor de desarrollo integrado, deberá

  • use whitenoise que hace esto como un middleware Django/WSGI (mi recomendación)
  • use el procedimiento clásico de implementación de archivos estáticos que recopila todos los archivos estáticos en alguna raíz y se espera que un servidor de archivos estáticos los sirva. Uvicorn no parece admitir el servicio de archivos estáticos, por lo que es posible que también necesite algo más (consulte, por ejemplo, https://www.uvicorn.org/deployment/#running-behind-nginx ).

  • (¡muy, muy poco preferible!) hacer que Django sirva archivos estáticos como lo hace en desarrollo

over 4 years ago · Santiago Trujillo Report

0

Agregue a continuación el código de su archivo settings.py

 STATIC_ROOT = os.path.join(BASE_DIR, 'static', )

Agregue el siguiente código en su urls.py

 from django.conf.urls.static import static from django.conf import settings urlpatterns = [. .....] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

Luego ejecute el siguiente comando, pero debe existir un directorio estático

 python manage.py collectstatic --noinput

servidor de inicio

 uvicorn main.asgi:application --host 0.0.0.0
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!