2013-06-27 164 views
0

我正在使用django 1.3進行生產,並希望在我的CSS和javaScript中使用靜態文件,但它不起作用,我的HTML中沒有任何問題!如何解決這個問題?我在django文檔中找不到任何解決方案。Django靜態文件和CSS和javaScript

我使用此代碼添加靜態文件到我的CSS:

{% load static %} 
{% get_static_prefix as STATIC_PREFIX %} 
#main { 
    background-image: url("{{ STATIC_PREFIX }}img.png"); 
} 

我在我的HTML中使用這個模板標籤{% load static %} {% get_static_prefix as STATIC_PREFIX %},它工作正常,但我不知道爲什麼它不能在CSS的工作! !

+0

你得運行'蟒蛇manage.py collectstatic'命令。 –

回答

1

您的CSS文件不是由Django模板引擎渲染的,它們只是由您的Web服務器提供,因此您不能使用Django模板語言。

如果你真的想要(這是一個非常糟糕的主意),你可以通過Django爲你提供CSS文件,通過創建渲染CSS文件的URL和視圖,允許你使用模板語言。

+0

ty,是否有任何教程,以及這樣做的最佳方式是什麼? – exshinigami

-1

靜態CSS和圖像文件的文檔在這裏:Current Django DocumentationDjango Documentation 1.3

在你的settings.py你要設置

STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    '/full/page/to/static/', 
) 

然後你就可以存儲圖像和CSS文件,根據「/全/頁/到/靜態/」目錄。 在模板你可以使用你的CSS和圖像這樣的:

<link rel="stylesheet" type="text/css" href="/static/styles.css"> 
<img src="/static/header.png" alt="Company Header" /> 

此外,你可以在「/靜態/」目錄下添加一個目錄結構,它會在URL反映。

例如

/full/path/to/static/img 
/full/path/to/static/css 

將解析:

<link rel="stylesheet" type="text/css" href="/static/css/styles.css"> 
    <img src="/static/img/header.png" alt="Company Header" /> 
+0

ty兄弟,但我要求別的東西 – exshinigami