django - 加载静态文件时404未找到错误

时间:2011-07-26 21:30:02

标签: python django

我多次阅读https://docs.djangoproject.com/en/dev/howto/static-files/ 而我正拉着我的头发。我无法加载我的.js和.css文件。 Chrome调试器会保留 让我找到.js和.css文件的“404 not found”。这是调试器中的内容:

http://127.0.0.1:8000/meetingapp/static/css/jquery-ui-1.8.14.custom.css 404 (NOT FOUND)

这就是我在base.html模板中调用css文件的方式:

<link type="text/css" href="{{ STATIC_URL }}css/jquery-ui-1.8.14.custom.css" rel="stylesheet" />

我正在运行开发者服务器:

python manage.py runserver

settings.py

STATIC_URL = 'static/'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles'
)

urls.py

urlpatterns = patterns('meetingapp.views',
(r'^meetingapp/$', 'index'),
(r'^meetingapp/calc_meetings/$', 'calc_meetings')
)

请帮帮我。感谢。

4 个答案:

答案 0 :(得分:4)

http://127.0.0.1:8000/meetingapp/static/css/jquery-ui-1.8.14.custom.css 404 (NOT FOUND)
                      ^^^^^^^^^^^ Your problem is right here...

您会看到静态通常位于项目的根目录中,并尝试在您的应用根目录中查找。 你需要使用这样的主设置.py静态文件设置:

STATIC_URL = '/static/'
             ^ add a slash here

所以你的静态网址将是:

http://127.0.0.1:8000/static/css/jquery-ui-1.8.14.custom.css

答案 1 :(得分:2)

您的STATIC_URL需要以斜杠开头。

答案 2 :(得分:2)

我刚想通了:我必须在settings.py

中向STATICFILES_DIRS添加记录
STATICFILES_DIRS = (
"/Projects/MeetingOrganization/meetings/meetingapp/static",
)

非常感谢:)

答案 3 :(得分:1)

我花了一整天时间,在我的项目中解决了同样的问题。

问题出在Windows寄存器(regedit)中的非ASCII键中 HKEY_CLASSES_ROOT\MIME\Database\Content Type 找出非ASCII密钥(例如šßü)并删除它们。

希望它会有所帮助