Django no carga las imágenes ni css

Django tiene una forma muy particular de cargar las imágenes y los archivos estáticos, dependiendo de si en nuestro proyecto necesitamos que se carguen las imágenes, css y archivos js desde el propio servidor o si queremos que se carguen desde un servidor externo al que contiene la aplicación.

Lo ideal en un entorno complejo y amplio sería que los ficheros estuvieran en otra instancia o servidor que sirva los ficheros estáticos, así a la hora del despliegue no necesitaríamos realizar ninguna acción. Si por el contrario optamos por tenerlos en el mismo servidor y que este los sirva, nos encontraremos que al iniciar el proyecto django con el runserver no es capaz de cargar los ficheros de imágenes, css ni js.

Para solucionar esto debemos utilizar la siguiente configuración en el settings de nuestro proyecto:

PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)

STATICFILES_FINDERS = [
‘django.contrib.staticfiles.finders.FileSystemFinder’,
‘django.contrib.staticfiles.finders.AppDirectoriesFinder’,
]

STATICFILES_DIRS = [
os.path.join(PROJECT_DIR, ‘static’),
]

STATIC_ROOT = os.path.join(BASE_DIR, ‘static’)
STATIC_URL = ‘/static/’

 

y luego ejecutar el comando:

python manage.py collectstatic

Con esto ya debería de solucionarse el problema y django empezar a mostrar los archivos estáticos y las imágenes.django

Como se puede ver en la imagen después de hacer todo lo que hemos comentado en este artículo ya el runserver de django empieza a mostrar todo el contenido correctamente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *