在Django中使用CSS
我有一个像这样的Django项目结构在Django中使用CSS,css,django,pyhook,Css,Django,Pyhook,我有一个像这样的Django项目结构 Project app media static style.css templates base.html 在场景中 PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..') SITE_ROOT = PROJECT_ROOT STATIC_ROOT = os.path.join(SITE_ROOT, 'st
Project
app
media
static
style.css
templates
base.html
在场景中
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
SITE_ROOT = PROJECT_ROOT
STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(SITE_ROOT,'static')
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
在base.html中引用css文件:
<link href="{{STATIC_URL}}/style.css" rel="stylesheet" type="text/css" />
浏览器显示的html文件没有css样式,可能是什么问题?这一行应该是罪魁祸首:
<link href="{{STATIC_URL}}/style.css" rel="stylesheet" type="text/css" />
您是否已将'django.contrib.staticfiles'添加到已安装的应用程序中?是的,我已将其添加到已安装的应用程序中。请检查
链接href
行,我已将其添加为答案。它打印出类似于'C:\\Users\\hl\\workspace\\faahjaelp\\theproject\\\\..\\static'的内容,并显示错误“staticfiles\u DIRS设置应”配置不当:STATICFILES\u DIRS设置不应包含STATIC\u ROOT设置如果您处于开发模式,您现在可以评论您的STATIC\u ROOT
,它应该可以了。感谢它的工作,但是如果我必须将其投入生产,该怎么办?将STATIC\u ROOT=os.path.join(SITE\u ROOT,'STATIC\u ROOT')。它仅在您使用python manage.py collectstatic
时使用,并且它只告诉您所有静态文件应该收集到的位置。因此,它只是告诉django收集名为static\u root
<link href="{{STATIC_URL}}/style.css" rel="stylesheet" type="text/css" />
<link href="{{STATIC_URL}}style.css" rel="stylesheet" type="text/css" />
from django.conf import settings
print settings.STATICFILES_DIRS