2013-06-27 121 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