.css不影响我的Django模板
我现在正在写我的第一个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' %}"/>
注意:如果这段代码没有正常工作,你需要检查一下你的设置和网址配置。同时,我也注意到你代码中有一些不太好的写法。