[英]Django: css referencing media in static files (django dev / 1.3 / static files)
像django用戶的任何其他用戶一樣,我提供靜態文件。 我選擇使用django-staticfiles為django 1.3做好准備,它基本上將它集成到核心中 。
我的問題非常簡單 - 這非常適合將多個媒體源整合在一起並在django模板中以統一的方式引用它們。 但是,我經常在Css中使用圖像背景,如下所示:
#itemname { background-image: url('/path/to/image.png'); }
我的問題很簡單 - 如果我使用絕對名稱,我必須對它們進行硬編碼。 如果我使用相對名稱,移動到“子目錄”URL會弄亂這些項目的資源位置,並且無法加載它們。
那么,我該如何將此解決方案擴展到CSS? 所述解決方案必須避免
project.com
進行部署。 想法?
你說你有相對路徑的問題,但我不明白你的意思。
我遇到了同樣的問題,我用相對路徑來解決它。 唯一要記住的是,部署圖像時(顯然)需要保持相對於CSS文件的相同路徑。
我的設置簡而言之:
注意我仍在使用Django 1.2的django-staticfiles,但它應該與Django 1.3類似
STATIC_URL = "/site_media/static/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, "site_media", "static")
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, "static_media"),
)
然后,我服務從CSS {{ STATIC_URL }}css/style.css
其在引用圖像../images/logo.png
。
我的項目看起來像這樣:
project_dir
...
stuff
static_media
...
css
images
如果您有任何問題,請告訴我,我會澄清一下。
好,
我不知道@ John的解決方案是否有問題,但它對我不起作用然后我把這個代碼放在CSS上
{% load static %}
{% get_static_prefix as STATIC_PREFIX %}
和
<link rel="stylesheet" href="{{ STATIC_PREFIX }}css/main.css">
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.