即使在正确的文件路径中搜索,GET 方法也会在控制台中返回 404。
编辑:我发现另一篇文章说我应该在 settings.py 文件中打开调试。它成功了!现在尝试将其转回 False 后,它仍然按预期工作。所以第二个问题是为什么第一次尝试不起作用?
我确保settings.py文件中的静态路径是正确的,但问题似乎出在django本身,因为django管理页面也不显示CSS。 我尝试了 python manage.pycollectstatic 但它不起作用 我尝试多次重新启动服务器,但仍然
另一个编辑:我刚刚发现一些页面在调试设置为 True 时加载了图像和 CSS 文件。但我没有加载的页面,也没有加载他们的页面。再次将 DEBUG 设置为 True 并加载页面后,当 DEBUG 回到 False 时,它们现在都可以工作。 认为这可能有助于弄清楚为什么当 DEBUG 设置为 False 时它不起作用
编辑:我发现另一篇文章说我应该在 settings.py 文件中打开调试。它成功了!现在尝试将其转回 False 后,它仍然按预期工作。所以第二个问题是为什么第一次尝试不起作用?
由于缓存,它可以继续工作。如果您使用 Ctrl + F5 清除缓存,它将再次无法处理静态文件。
我确保 settings.py 文件中的静态路径是正确的,但问题似乎出在 django 本身,因为 django 管理页面也不显示 CSS。我尝试了 python manage.pycollectstatic 但它不起作用我尝试多次重新启动服务器但仍然如此。
collectstatic
[Django-doc]不能解决这个问题。 collectstatic
只是将所有应用程序的 static/
目录复制到由 STATIC_ROOT
设置[Django-doc] 指定的通用静态目录,但它不会 服务 文件。
Django 不在生产中提供静态文件,这没有多大意义:这不会有效。通常,您让 Nginx、Apache 或其他 Web 服务器首先处理请求。
对于 Nginx,它看起来像:
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /parent/directory/of/static;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
所以 Nginx 提供文件服务,而不是 Django。