0

我正在使用 django 1.3 进行生产,并想在我的 CSS 和 javaScript 中使用静态文件,但它不起作用,我的 HTML 没有任何问题!必须如何解决这个问题?我在 django doc 中没有找到任何解决方案。

我使用此代码将静态文件添加到我的 CSS 中:

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

{% load static %} {% get_static_prefix as STATIC_PREFIX %}在我的 html 中使用了这个模板标签,它工作正常,但我不知道为什么它在 CSS 中不起作用!!!

4

2 回答 2

1

您的 CSS 文件不是由 Django 模板引擎呈现的,它们只是由您的 Web 服务器提供服务,因此您不能使用 Django 模板语言。

如果您真的想这样做(这是一个非常糟糕的主意),您可以通过创建呈现 CSS 文件的 URL 和视图通过 Django 为您提供 CSS 文件,从而允许您使用模板语言。

于 2013-06-27T10:33:16.673 回答
-1

静态 CSS 和图像文件的文档在这里:Current Django DocumentationDjango Documentation 1.3

在您的 settings.py 中,您需要设置

STATIC_URL = '/static/'

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

然后,您可以将图像和 css 文件存储在“/full/page/to/static/”目录下。在您的模板中,您将使用您的 css 和图像,如下所示:

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

除此之外,您可以在“/static/”目录下添加一个目录结构,它将反映在 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" />
于 2013-06-27T11:51:29.983 回答