.css不影响我的Django模板

0 投票
2 回答
571 浏览
提问于 2025-04-17 18:07

我现在正在写我的第一个Django应用,遇到了一些问题,这也是预料之中的。

我现在最头疼的问题是如何把CSS链接到我的模板文件。我在StackOverflow上搜索过,但找到的解决办法似乎都不管用。

我现在使用的是Django 1.4.2。

在我的设置里,我已经启用了staticfiles应用和staticfiles_finders。我的staticfiles_dirs看起来是这样的:

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

在我的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,它是可以工作的,所以我想我可能链接错了?

如果能得到帮助,我会非常感激。

2 个回答

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变量扩展出网址:

  • {{ STATIC_URL }} --> http://(你的主机)/static/
  • {{ STATIC_URL }}/css --> http://(你的主机)/static/css
1

Django 1.4及以上版本

{% static %}

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

注意:如果这段代码没有正常工作,你需要检查一下你的设置和网址配置。同时,我也注意到你代码中有一些不太好的写法。

撰写回答