python - urls - Plantilla Django: incrustar css desde el archivo
extends django template tag (3)
En la solución sería el uso de incluir:
<head>
<style>{% include "../static/css/TEST.css" %}</style>
</head>
¡Pero es algo desordenado! Debe colocar una copia o un enlace a su archivo css en su directorio de plantillas. O utiliza un enlace codificado como el anterior, que puede interrumpirse durante la producción.
Estoy trabajando en una plantilla de correo electrónico, por lo que me gustaría incrustar un archivo css
<head>
<style>{{ embed ''css/TEST.css'' content here }}</style>
</head>
en lugar de vincularlo
<head>
<link href="{% static ''css/TEST.css'' %}" rel="stylesheet" type="text/css">
</head>
¿Algunas ideas?
Puede usar el paquete django-compressor . Se agregará {% compress %}
etiqueta de plantilla que puede unir un montón de archivos JS o CSS (o código en línea) y ponerlo en la plantilla como nuevo, gran archivo o código en línea. Por ejemplo, para incorporar un archivo CSS, puede usar:
{% compress css inline %}
<link href="{% static ''css/TEST.css'' %}" rel="stylesheet" type="text/css">
{% endcompress %}
Puede agregar más archivos CSS en una etiqueta de compresión, se concatenarán juntos y se envolverán en una etiqueta <style>
.
Ver ejemplos de uso para más detalles.
Supongo que podrías usar include
<style>{% include "/static/css/style.css" %}</style>
https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#include
Pero podría ser mejor cargar el contenido del archivo css en su vista, y ponerlo en el contexto de su vista para enviarlo a la plantilla