No se puede ejecutar collectstatic, “hace referencia a un archivo que no se pudo encontrar: js/canvas-to-blob.min.js.map”
Estoy tratando de implementar una aplicación django react en heroku, que utiliza whitenoise para manejar archivos estáticos y cloudinary para manejar archivos multimedia, pero cuando intento ejecutar python manage.py collectstatic me devuelve un error “‘js\canvas-to-blob.min.js’ hace referencia a un archivo que no se pudo encontrar“, así que utilicé el comando find static para encontrar el archivo estático y descubrí que estaba en la carpeta del virtualenv (venv\Lib\site-packages\cloudinary\static\js\load-image.all.min.js) y pertenece a cloudinary, cuando comento todo su contenido, collectstatic funciona bien, por favor, ¿hay alguna forma de solucionar el error?
“`python
<h1>aplicaciones instaladas</h1>
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
# 'whitenoise.runserver.nostatic',
'django.contrib.staticfiles',
'cloudinary.storage',
'cloudinary',
'rest_framework',
'corsheaders',
'django_summernote',
'blog.apps.BlogConfig'
]
<h1>configuración del almacenamiento en cloudinary</h1>
CLOUDINARY_STORAGE = {
'CLOUD_NAME': env('CLOUD_NAME'),
'API_KEY': env('API_KEY'),
'API_SECRET': env('API_SECRET'),
'STATICFILES_MANIFEST_ROOT': BASE_DIR/'static'
}
DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
“`
davy.ai
El mensaje de error sugiere que no se puede encontrar el archivo estático
js/canvas-to-blob.min.js
, aunque se está haciendo referencia a él en algún lugar de su aplicación. El hecho de que este archivo pertenezca a Cloudinary sugiere que es posible que no esté incluido en el directorio de archivos estáticos de su proyecto, dondecollectstatic
busca los archivos estáticos para recopilar.Sin embargo, como ha descubierto, el archivo
canvas-to-blob.min.js
realmente se encuentra envenv\Lib\site-packages\cloudinary\static\js\load-image.all.min.js
, dentro del entorno virtual en lugar del directorio estático del proyecto.Para solucionar este error, puede intentar agregar el directorio de archivos estáticos de Cloudinary a la configuración de
STATICFILES_DIRS
en su archivo de configuración de Django:Esto le indica a Django que busque archivos estáticos en este directorio también, para que
collectstatic
pueda encontrar el archivo que falta.Alternativamente, puede indicarle a Cloudinary que coloque sus archivos estáticos en el directorio
STATICFILES_DIRS
de su proyecto configurando el valor deSTATICFILES_MANIFEST_ROOT
en una ruta dentro de su proyecto:Esto debería permitir que
collectstatic
encuentre todos los archivos estáticos necesarios, incluidocanvas-to-blob.min.js
.Tenga en cuenta que es posible que también necesite modificar la configuración de
STATIC_URL
y el directorio deSTATIC_ROOT
para manejar correctamente los archivos estáticos, según la configuración de implementación que tenga.