2015-11-09 2 views
3

Я работаю на шаблон электронной почты, для этого я хотел бы встроить CSS файлшаблон Django: Вставить CSS из файла

<head> 
    <style>{{ embed 'css/TEST.css' content here }}</style> 
</head> 

вместо связывания его

<head> 
    <link href="{% static 'css/TEST.css' %}" rel="stylesheet" type="text/css"> 
</head> 

Есть идеи?

ответ

3

Я думаю, вы могли бы использовать include

<style>{% include "/static/css/style.css" %}</style>  

https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#include

Но было бы лучше, чтобы загрузить содержимое файла CSS на ваш взгляд, и поставить его в контексте вашей точки зрения, чтобы отправить его к шаблону

2

Вы можете использовать пакет django-compressor. Он добавит тег шаблона {% compress %}, который может объединить кучу JS или файлов CSS (или встроенного кода) и поместить его в шаблон как новый, большой файл или встроенный код. Например, чтобы встроить один файл CSS, вы можете использовать:

{% compress css inline %} 
    <link href="{% static 'css/TEST.css' %}" rel="stylesheet" type="text/css"> 
{% endcompress %} 

Вы можете добавить CSS файлов в один компресс тег, они будут объединены вместе и завернуты в один <style> тег.

Проверьте, пожалуйста, usage examples.

1

О решении было бы использование включают:

<head> 
    <style>{% include "../static/css/TEST.css" %}</style> 
</head> 

Но это своего рода грязный! Вы должны поместить копию или ссылку на свой css-файл в каталог шаблонов. Или вы используете жесткосвязную ссылку, как указано выше, которая может нарушить работу.