Entonces obtuve django-compressor trabajando en desarrollo con Debug = False. Sin embargo, una vez que configuro Debug = True, django-compressor parece generar las URL correctas, los archivos y todo, pero Django devuelve un 404 para esos archivos.
yo tengo
STATIC_ROOT = os.path.join(PROJECT_DIR, "static_media")
y dentro de la carpeta static_media en mi proyecto, puedo ver el archivo CACHE / css / bfdeac875f7a.css que fue creado por el compresor.
Dentro del archivo HTML generado, también puedo ver
<link rel="stylesheet" href="/static/CACHE/css/bfdeac875f7a.css" type="text/css" />
pero cuando se carga la página, runserver dice:
[21/Dec/2012 22:28:44] "GET /static/CACHE/css/bfdeac875f7a.css HTTP/1.1" 404 276
¿Me estoy perdiendo de algo? Ya tengo
'django.core.context_processors.static',
a TEMPLATE_CONTEXT_PROCESSORS
'compressor.finders.CompressorFinder',
a STATICFILES_FINDERS
'compressor',
a INSTALLED_APPS
¡Gracias!
Hola,
Necesitaremos un poco más de información sobre su configuración para ayudarlo a:
Gracias
Hola,
Estoy usando Django 1.4.3, con la siguiente configuración:
...
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(PROJECT_DIR, "static_media")
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_DIR, "static"),
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
'compressor.finders.CompressorFinder',
)
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)
...
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
...
'compressor',
...
)
...
Los archivos que puse manualmente dentro de static_media
son inaccesibles desde /static/
url, por lo que no debo haber configurado correctamente los archivos estáticos ... También migré desde Django 1.3, si eso importa. ¿Tendrías una corazonada de lo que debería intentar?
Además, runserver recupera con éxito los archivos en mi carpeta static_media
cuando Debug es verdadero, pero falla cuando es falso ...
Lo siento, no puedo creer que me perdí eso antes: de alguna manera leí que tuviste problemas cuando DEBUG es _Verdadero_.
De todas formas. Cuando DEBUG = False, su servidor de ejecución, por defecto, se negará a servir archivos estáticos por sí mismo, debido a problemas de rendimiento y seguridad. Esto es para evitar que lo use en producción. Para poder probar correctamente sus archivos estáticos localmente cuando DEBUG es False, debe pasar el indicador --insecure al servidor de ejecución, como se documenta aquí: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/ #django -admin-option --- inseguro
¿Eso soluciona tu problema?
Oh Dios mío, mi culpa. Inadvertidamente había cambiado "Verdadero" y "Falso" en mi pregunta original, ¡perdón por la confusión!
¡Y muchas gracias, eso resuelve el problema!
Comentario más útil
Lo siento, no puedo creer que me perdí eso antes: de alguna manera leí que tuviste problemas cuando DEBUG es _Verdadero_.
De todas formas. Cuando DEBUG = False, su servidor de ejecución, por defecto, se negará a servir archivos estáticos por sí mismo, debido a problemas de rendimiento y seguridad. Esto es para evitar que lo use en producción. Para poder probar correctamente sus archivos estáticos localmente cuando DEBUG es False, debe pasar el indicador --insecure al servidor de ejecución, como se documenta aquí: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/ #django -admin-option --- inseguro
¿Eso soluciona tu problema?