2012-06-20 16 views
6

Este problema es específico para un sitio de producción que utiliza el compresor Django. Quiero que esto funcione cuando COMPRESS_OFFLINE = True para que pueda precomprimir todos los archivos css de mi sitio antes de pasar a la producción.Django Compressor Offline Herencia

me gustaría, dentro base.html, hacer el equivalente de esto:

{% compress %} 
    {% block css %} 
    {% endblock %} 
{% endcompress %} 

de manera que todos mis bloques CSS en archivos que se extienden de base están comprimidos. Esto es principalmente para no tener que agregar etiquetas {% compress%} a todas mis plantillas secundarias.

Existen varios problemas similares en Stack Overflow, pero no he encontrado una buena solución para hacerlo al comprimir sin conexión (es decir, con el comando de administración de compresiones de Django Compressor). Las etiquetas de compresión circundantes funcionan bien cuando COMPRESS_OFFLINE = False. ¿Alguien ha encontrado la manera de hacer que esto funcione sin conexión?

Estoy enumerando algunos hilos similares que parecen pertenecer a soluciones no fuera de línea. Los enlaces en la segunda rosca indicar que ha habido problemas anteriores con la herencia cuando se trabaja con Django compresor desconectado, pero tal vez se han resuelto:

Django-compressor and template inheritance

Does django-compressor work with template inheritance?

Respuesta

0

Usted tiene hacer uso sin conexión compresa para ese técnica para trabajar, pero mientras tenga configurado el almacenamiento en caché correctamente, django-compressor no volverá a comprimir en cada solicitud a menos que se hayan cambiado los recursos.

He usado esta técnica para permitir a los usuarios usar lesscss para extender el tema del sitio y usar nuestros mixins, etc. Está un poco flojo para trabajar pero (en mi experiencia hasta ahora) es perfectamente estable cuando está configurado correctamente, y no introduce una latencia de solicitud sustancial una vez que se ha comprimido la primera vez.

Puede configurar un servicio como pingdom, blamestella o new relic para golpear varias páginas para asegurar los activos comprimidos están siempre en la memoria caché (que supervisan para tiempo de actividad, pero el trabajo para esto también)

Cuestiones relacionadas