在django模板中,通常会执行以下操作:

<img src="{{ MEDIA_URL }}/img/someImage.jpg">

如何在不充当模板的CSS文件中实现这一点呢?

.someClass {
    /* can't do this this */
    background: url("{{ MEDIA_URL }}/img/someImage.jpg");        
    /* either this */
    background: url("http://media.domain.com/img/someImage.jpg");
    /* or this */
    background: url("/django_static_media/img/someImage.jpg");
    /* can't do both... what to do? */
}

我需要的能力,服务于我的文件无论是从媒体子域,或在离线工作,并直接作为一个Django 静电视图服务.但是CSS文件是一个问题,因为它们不是作为模板处理的,并且我不能使用MEDIA_URL上下文变量.

解决方案是什么?

我要注意的是,这个问题是因为我的静电媒体文件实际上位于一个单独的媒体子域中,因此否定了相对路径的使用.明白了,谢谢!

推荐答案

你的css文件来自哪里?作为一种常见的媒体 struct ,这通常不是问题,例如:

media/
    images/
    css/
    js/

(或类似)允许图像的相对文件路径,例如:

background: url('../images/foo.png');

如果您不准备更改媒体文件夹 struct 以适应相对文件路径,则可能别无 Select ,只能在脱机时使用辅助CSS文件覆盖模板中的CSS声明:

{% if DEBUG %}
    <link rel="stylesheet" href="{{ MEDIA_URL }}css/offline-mode.css" />
{% endif %}

当然,第一种 Select 要整洁得多.

Django相关问答推荐

Django中有修改字段值的挂钩吗?

与django相关的预取n +1问题.我该怎么解决呢?

如何使更新记录在 Django 模型中传递信号?

如何访问 django 模板中的字典值?

如何使用来自另一个字段的信息创建字段

如何在Django中制作一个不 Select 以前日期的日期 Select 器

使用 Django 和 South 重命名应用程序

验证 Django 模型对象的正确方法?

获取 Django 中的缓存键列表

Django 1.9:字段与父模型中不存在的字段的字段冲突

Django - 强制执行 ManyToManyField 唯一项

Django:使用render或render_to_response时添加响应头

如何动态检索 Django 模型类?

django 模板 if 或语句

Django - 来自 QuerySet 的唯一列表

get_or_create() 线程安全吗

Django ORM 能否以可靠的与后端无关的方式存储无符号 64 位整数(又名 ulong64 或 uint64)?

Django 什么是反向关系?

Django:验证上传文件的文件类型

Django 在视图之间传递数据