📜  静态文件未加载 404 错误 django - Python (1)

📅  最后修改于: 2023-12-03 14:58:43.790000             🧑  作者: Mango

静态文件未加载 404 错误 Django - Python

在使用 Django 开发网站时,静态文件(如 CSS、JS、图片等文件)是不可避免的。然而,有时候你可能会遇到静态文件未加载的 404 错误。

1. 确认静态文件路径设置正确

首先,你需要确认静态文件路径设置正确。在 settings.py 中加入以下配置:

STATIC_URL = '/static/'   # 静态文件 URL
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]   # 静态文件目录

这样 Django 就会在 BASE_DIR/static 目录中寻找静态文件。如果你的静态文件在其他位置,例如 BASE_DIR/my_app/static,那么你需要将 STATICFILES_DIRS 修改为:

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'my_app', 'static')]
2. 确认静态文件目录结构正确

接下来,你需要确认静态文件目录结构正确。例如,你的 CSS 文件是否在 static/css 目录中,JS 文件是否在 static/js 目录中,图片文件是否在 static/images 目录中等等。如果目录结构不正确,那么文件就会无法被加载。

3. 重新收集静态文件

如果你在开发环境下修改了静态文件,并且在生产环境中遇到 404 错误,那么可能是因为你没有重新收集静态文件。

在生产环境下,你需要使用 python manage.py collectstatic 命令重新收集静态文件。这个命令会将静态文件从每个应用程序中收集到静态文件根目录中(默认情况下是 BASE_DIR/staticfiles 目录)。

4. 确认静态文件服务器设置正确

最后,你需要确认静态文件服务器设置正确。在生产环境下,如果你使用的是 Apache 或 Nginx 等 Web 服务器,那么你需要在配置文件中设置静态文件目录和 URL。

例如,如果你使用的是 Nginx,你需要在配置文件中添加以下内容:

location /static/ {
    alias /path/to/static/;
}

其中 /path/to/static/ 是指静态文件目录的绝对路径。

结论

如果你遇到静态文件未加载的 404 错误,可以按照以上步骤逐一排查。通常情况下,这些错误都可以通过正确设置静态文件路径、目录结构、重新收集静态文件和设置静态文件服务器来解决。