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

4 投票
4 回答
14121 浏览
提问于 2025-04-16 22:19

我多次阅读了这个链接,但还是搞不明白。我无法加载我的 .js 和 .css 文件。Chrome 的调试工具一直提示我“404 找不到”,就是找不到这些 .js 和 .css 文件。调试工具里显示的内容是:

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 个回答

3

我刚刚搞明白了:我需要在settings.py文件中添加一个记录到STATICFILES_DIRS里。

STATICFILES_DIRS = (
"/Projects/MeetingOrganization/meetings/meetingapp/static",
)

不过还是谢谢你 :)

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...

你会发现,静态文件通常放在你项目的根目录下,它会在你的应用根目录中寻找这些文件。你需要像下面这样修改你的主设置文件 settings.py 中的静态文件设置:

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

这样你的静态文件网址就会是:

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

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

问题出在Windows注册表(regedit)中的非ASCII键,具体位置是 HKEY_CLASSES_ROOT\MIME\Database\Content Type。你需要找到那些非ASCII的键(比如说像š、ß、ü这样的字符),然后把它们删掉。

希望这能帮到你。

撰写回答