0

我目前正在编写我的第一个 django-app 并且遇到了一些问题,正如预期的那样。

我目前正在努力解决的问题是将 css 链接到我的模板文件。我一直在搜索stackoverflow,但我发现的东西似乎都不起作用。

我目前正在运行 django 1.4.2

在我的设置中,我启用了 staticfiles 应用程序和 staticfiles_finders。我的 staticfiles_dirs 看起来像这样:

STATICFILES_DIRS = (
    '/home/user/project/static/',
)

在我的静态文件夹中,我有一个 css 文件夹,用于存储我的 css 文件。在这种情况下,我的 css 文件的路径是这样的。

/home/user/project/static/css/index.css

在我的应用程序模板中,我已经像这样链接到 css 文件。

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/index.css />

但是,css 似乎不会影响我的页面。但是,如果我直接在模板文件中编写 css 确实可以工作,所以我认为我链接错了?

帮助将不胜感激。

4

2 回答 2

1

姜戈 1.4+

{% static %}

<link rel="stylesheet" type="text/css" href="{% static 'css/index.css' %}"/>

注意:如果此代码不起作用,您应该检查您的设置和 urlconf。而且我还注意到您的代码中有一些不好的做法。

于 2013-03-06T13:09:57.570 回答
0

您可以尝试另一种方式:

在文件settings.py中编辑这些变量

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
STATIC_URL = os.path.join(PROJECT_URL, 'static')

它们指的是系统上文件夹的绝对路径,例如:

  • PROJECT_ROOT --> /home/user/project
  • STATIC_URL --> /home/user/project/static

从 STATIC_URL 变量展开 url:

  • {{ STATIC_URL }} --> h ttp://(your_host)/static/
  • {{ STATIC_URL }}/css --> h ttp://(your_host)/static/css
于 2013-03-06T15:25:25.493 回答