¿Por qué la configuración DEBUG=False hace que mi acceso a archivos estáticos de Django falle?
Estoy creando una aplicación usando Django como mi caballo de batalla. Todo ha ido bien hasta ahora: configuraciones de base de datos especificadas, directorios estáticos configurados, URL, vistas, etc. Pero los problemas comenzaron a surgir en el momento en que quería renderizar mis propias páginas 404.html y 500.html hermosas y personalizadas.
Leí los documentos sobre manejo de errores personalizado y establecí las configuraciones necesarias en UrlsConf, creé las vistas correspondientes y agregué 404.html y 500.html al directorio de plantillas de mi aplicación (especificado también en settings.py).
Pero los documentos dicen you can actually view custom error views until Debug is Off
, así que lo apagué para probar mis cosas, ¡y ahí es cuando las cosas se vuelven locas!
No solo no puedo ver el 404.html personalizado (en realidad, se carga, sino que debido a que cada una de mis páginas de error contiene un mensaje de error gráfico, como una imagen bonita), se carga la fuente de la página de error, ¡pero no se carga nada más! ¡Ni siquiera CSS o Javascript vinculados!
Generalmente, una vez que lo configuro DEBUG = False
, se cargarán todas las vistas, pero el contenido vinculado (CSS, Javascript, imágenes, etc.) no se cargará. ¿Lo que está sucediendo? ¿Falta algo relacionado con los archivos estáticos y la DEBUG
configuración?
Si aún necesita un servidor estático localmente (por ejemplo, para realizar pruebas sin depurar), puede ejecutar devserver en modo inseguro:
manage.py runserver --insecure
Con la depuración desactivada, Django ya no manejará archivos estáticos por usted; su servidor web de producción (Apache o algo así) debería encargarse de eso.