我正在努力让css在我的Django项目中全球工作.
我有一个名为’project_static’的STATICFILES_DIRS,里面有一个css文件.
这是我项目的根本.
在我的settings.py中,我有:
STATICFILES_DIRS = (
'/Users/gavinhinfey/django_projects/ss_stream/project_static/',)
在base.html我有:
当我在我创建的应用程序’stream’中的页面模板时,css文件链接正常.但是,当我查看不是特定于应用程序的页面模板时,它看不到css.
知道为什么会这样吗?
我已尽力解释这个问题,但如果您需要澄清问题,请询问.
谢谢
加文
最佳答案
{{STATIC_URL}}已被弃用(我认为),因此它可能只渲染css / main.css.
我建议你配置如下:
settings.py
import os.path
PWD = os.path.dirname(os.path.realpath(__file__)) # project root path
STATICFILES_DIRS = (
PWD + '/static/',# or project_static,whatever
)
base.html文件
{% load static %}
这样,您可以在设置中使用相对路径,并且如果将整个项目移出主目录,则可以避免中断设置.
您可以将它用于每个路径设置,例如LOCALE_PATHS或TEMPLATE_DIRS.
如果这不起作用,请检查您是否具有以下设置:
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder',# 'django.contrib.staticfiles.finders.DefaultStorageFinder',)
# optional but if you defined it be sure to have this one:
TEMPLATE_CONTEXT_PROCESSORS = (
# ...
'django.core.context_processors.static',# ...
)