Django无法加载静态CSS文件
我正在runserver
本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。
以下是settings.py中的相关条目:
STATIC_ROOT = '/Users/username/Projects/mysite/static/'STATIC_URL = '/static/'
STATICFILES_DIRS = (
'/Users/thaymore/Projects/mysite/cal/static',
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
INSTALLED_APPS = (
# other apps ...
'django.contrib.staticfiles',
)
在我的views.py中,我正在请求上下文:
return render_to_response("cal/main.html",dict(entries=entries),context_instance=RequestContext(request))
在我的模板中,{{ STATIC_URL }}
渲染正确:
<link type="text/css" href="{{ STATIC_URL }}css/main.css" />
变成:
<link type="text/css" href="/static/css/main.css"/>
文件实际所在的位置。我还collectstatic
确保所有文件都已收集。
我的urls.py中也包含以下几行:
from django.contrib.staticfiles.urls import staticfiles_urlpatternsurlpatterns += staticfiles_urlpatterns()
我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。
回答:
Is django.contrib.staticfiles
in your INSTALLED_APPS
in settings.py
?
Is DEBUG=False
? If so, you need to call runserver
with the –insecure
parameter:
python manage.py runserver --insecure
collectstatic
与通过开发服务器提供文件无关。它用于将静态文件收集到一个位置,STATIC_ROOT
以供Web服务器查找它们。实际上,collectstatic
将您的STATIC_ROOT
设置运行到某个路径STATICFILES_DIRS
是一个坏主意。您应该仔细检查以确保您的CSS文件现在甚至存在。
以上是 Django无法加载静态CSS文件 的全部内容, 来源链接: utcz.com/qa/431186.html