【问题标题】:In Django, how can I embed something in CSS?在 Django 中,如何在 CSS 中嵌入一些东西?
【发布时间】:2009-10-25 05:49:39
【问题描述】:
background: url({{ MEDIA_URL }}/bg.jpg);

那不行,因为这个 Django 模板函数只在 .html 中有效!

【问题讨论】:

    标签: python css django templates


    【解决方案1】:

    实际上 CSS 中的图像可以相对于 CSS 文件。 因此,您实际上不需要将 MEDIA_URL 放入 CSS 文件中。

    【讨论】:

      【解决方案2】:

      Django 模板函数只在 .html 中有效!

      这是完全错误的。 Django 模板独立于格式。它可以很容易地用于任何其他格式,事实上用于许多其他目的。

      如何在 CSS 中嵌入一些东西?

      您从 nginx 或 apache 等静态服务器(为静态配置)提供您的 css; Django 甚至不访问这些文件。只有在开发过程中,为了方便起见,您也可以要求 django 提供静态数据。

      在 django 模板中,您需要加载模板并渲染上下文。为方便起见,render to response 会执行此操作,并将其作为 http 响应返回。如果您需要编辑 CSS,则还需要进行加载和渲染。当您这样做时,在页面中嵌入内联样式可能比从外部 css 文件中导入更容易。

      【讨论】:

      • 对此,我补充一点:记得在 HttpResponse 中将 text/css 设置为内容类型。
      • 我认为 OP 试图将 Django 模板指令放入静态 CSS 文件中。如果他在运行时使用模板生成 CSS
      猜你喜欢
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多