【问题标题】:Django staticfiles and CSS and javaScriptDjango 静态文件和 CSS 和 javaScript
【发布时间】:2013-06-24 19:01:18
【问题描述】:

我正在使用 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");
}

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

【问题讨论】:

  • 你必须运行python manage.py collectstatic 命令。

标签: javascript css django django-staticfiles django-1.3


【解决方案1】:

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

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

【讨论】:

  • ty ,有什么教程吗?最好的方法是什么?
【解决方案2】:

静态 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" />

【讨论】:

  • 兄弟,但我要求别的东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-26
  • 2021-02-01
  • 2011-06-18
  • 2013-01-15
  • 2016-03-12
  • 2015-11-06
  • 1970-01-01
相关资源
最近更新 更多