【问题标题】:Django template: Embed css from fileDjango模板:从文件嵌入css
【发布时间】:2016-02-09 23:28:51
【问题描述】:

我正在制作一个电子邮件模板,因此我想嵌入一个 css 文件

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

而不是链接它

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

有什么想法吗?

【问题讨论】:

    标签: python django templates include embed


    【解决方案1】:

    我猜你可以使用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 文件添加到一个 compress 标签中,它们将连接在一起并包装到一个 &lt;style&gt;tag 中。

      查看usage examples了解更多详情。

      【讨论】:

        【解决方案3】:

        解决方案是使用包括:

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

        但这有点乱! 您必须在模板目录中放置 css 文件的副本或链接。或者您使用上面的硬编码链接,这可能会在生产中中断。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-25
          • 2014-03-13
          • 2010-11-07
          • 2013-10-12
          • 1970-01-01
          • 1970-01-01
          • 2016-08-02
          • 2016-06-02
          相关资源
          最近更新 更多