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