📅  最后修改于: 2023-12-03 14:58:43.790000             🧑  作者: Mango
在使用 Django 开发网站时,静态文件(如 CSS、JS、图片等文件)是不可避免的。然而,有时候你可能会遇到静态文件未加载的 404 错误。
首先,你需要确认静态文件路径设置正确。在 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')]
接下来,你需要确认静态文件目录结构正确。例如,你的 CSS 文件是否在 static/css
目录中,JS 文件是否在 static/js
目录中,图片文件是否在 static/images
目录中等等。如果目录结构不正确,那么文件就会无法被加载。
如果你在开发环境下修改了静态文件,并且在生产环境中遇到 404 错误,那么可能是因为你没有重新收集静态文件。
在生产环境下,你需要使用 python manage.py collectstatic
命令重新收集静态文件。这个命令会将静态文件从每个应用程序中收集到静态文件根目录中(默认情况下是 BASE_DIR/staticfiles
目录)。
最后,你需要确认静态文件服务器设置正确。在生产环境下,如果你使用的是 Apache 或 Nginx 等 Web 服务器,那么你需要在配置文件中设置静态文件目录和 URL。
例如,如果你使用的是 Nginx,你需要在配置文件中添加以下内容:
location /static/ {
alias /path/to/static/;
}
其中 /path/to/static/
是指静态文件目录的绝对路径。
如果你遇到静态文件未加载的 404 错误,可以按照以上步骤逐一排查。通常情况下,这些错误都可以通过正确设置静态文件路径、目录结构、重新收集静态文件和设置静态文件服务器来解决。