Yuv*_*dam 36 django django-templates
在django模板中,通常会执行以下操作:
<img src="{{ MEDIA_URL }}/img/someImage.jpg">
Run Code Online (Sandbox Code Playgroud)
你如何在一个不作为模板的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? */
}
Run Code Online (Sandbox Code Playgroud)
我需要能够从媒体子域或在脱机工作期间提供我的文件,并直接将它们作为django静态视图提供.但CSS文件是一个问题,因为它们不作为模板处理,我不能使用MEDIA_URL
上下文变量.
解决方案是什么?
编辑:我应该注意问题出现,因为我的静态媒体文件实际上位于单独的媒体子域上,因此否定了相对路径的使用.知道了谢谢!
oza*_*zan 47
你的css文件在哪里提供?这通常不是一个常见的媒体结构问题,例如:
media/
images/
css/
js/
Run Code Online (Sandbox Code Playgroud)
(或类似)允许图像的相对文件路径,例如:
background: url('../images/foo.png');
Run Code Online (Sandbox Code Playgroud)
如果您还没准备好更改媒体文件夹结构以容纳相对文件路径,那么您可能别无选择,只能在模板中覆盖css声明,在离线时使用辅助css文件:
{% if DEBUG %}
<link rel="stylesheet" href="{{ MEDIA_URL }}css/offline-mode.css" />
{% endif %}
Run Code Online (Sandbox Code Playgroud)
当然第一个选择更加整洁.
对不起,你不会喜欢这个答案.
我有同样的问题:
使用静态服务的CSS文件没有简单的方法.
我所做的:
然后我去制作并进行svn更新并触摸WSGI文件并验证
归档时间: |
|
查看次数: |
21135 次 |
最近记录: |