Warm tip: This article is reproduced from serverfault.com, please click

python-Django -- 无法加载静态 CSS 文件

(python - Django -- Can't get static CSS files to load)

发布于 2011-09-27 19:40:02

我在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_urlpatterns

urlpatterns += staticfiles_urlpatterns()

我是 Django 的新手,所以可能缺少一些简单的东西——希望得到任何帮助。

Questioner
tchaymore
Viewed
0
11.2k 2018-03-07 04:27:17

仔细阅读:https : //docs.djangoproject.com/en/dev/ref/contrib/staticfiles/

django.contrib.staticfilesINSTALLED_APPSsettings.py

DEBUG=False吗?如果是这样,你需要runserver使用--insecure参数调用

python manage.py runserver --insecure

collectstatic与通过开发服务器提供文件无关。它用于将静态文件收集在一个位置,STATIC_ROOT以便你的 Web 服务器找到它们。事实上,collectstatic用你的STATIC_ROOT设置运行一个路径STATICFILES_DIRS是一个坏主意。你应该仔细检查以确保你的 CSS 文件现在甚至存在。