Al igual que cualquier otro usuario del usuario django, sirvo archivos estáticos. He elegido usar django-staticfiles para estar listo para django 1.3 que básicamente lo integrará into the core.Django: css haciendo referencia a medios en archivos estáticos (django dev/1.3/archivos estáticos)
Mi pregunta es bastante simple en realidad, esto funciona muy bien para unir múltiples fuentes de medios y hacer referencia a ellos de manera uniforme en las plantillas django. Sin embargo, a menudo utilizar fondos de imágenes en Css este modo:
#itemname { background-image: url('/path/to/image.png'); }
Mi pregunta es simple - si utilizo nombres absolutos, tengo que codificar ellos. Si uso nombres relativos, moviendo a "subdirectorio" urls desordena la ubicación del recurso para estos elementos y no se pueden cargar.
Entonces, ¿cómo extiendo esta solución a CSS? Dicha solución debe evitar:
- Incrustación css en html. Yo personalmente evito esto.
- Usando las URL codificadas. Esto no funciona muy bien porque en mi configuración local normalmente uso 'localhost/project' con Apache para probar (mod_wsgi) mientras que tiendo a usar
project.com
para la implementación.
Ideas?
El bit del que no estoy seguro, ahora lo has respondido: ¿son las URL css 'background-image' relativas al archivo css, o la URL desde la que se está publicando la página?Si el primero, estoy ordenado, porque puedo usar exactamente lo que ha descrito. –
Acabo de probarlo: el pariente parece funcionar en CSS. Estoy feliz con eso. Tiene un tic! –
@John, es PROJECT_ROOT también definido en algún lugar por usted o Django lo define automáticamente como su raíz actual del proyecto (donde está mintiendo su manage.py). Si define PROJECT_ROOT usted mismo, necesita seguir cambiando según si está en el entorno de desarrollo o en el entorno de producción (como la estructura de directorios) de ambos, puede ser diferente – David