问题描述
最近,我将django网站托管在带有AWS上Nginx服务器的EC2 ubuntu实例上。当我打开该网站的管理页面时,IT看上去非常丑陋,并且没有CSS,但是在本地服务器127.0.0.0:8000上它可以正常工作。
我也在浏览器控制台上检查,它给出了此错误:
GEThttp://jassem.in/static/admin/css/dashboard.css
[HTTP/1.1 404 Not Found 51ms]
The resource from “http://jassem.in/static/admin/css/nav_sidebar.css” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
admin
The resource from “http://jassem.in/static/admin/css/base.css” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
admin
The resource from “http://jassem.in/static/admin/js/nav_sidebar.js” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
admin
The resource from “http://jassem.in/static/admin/css/responsive.css” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
admin
The resource from “http://jassem.in/static/admin/css/dashboard.css” was blocked due to MIME type (“text/html”) mismatch (X-Content-Type-Options: nosniff).
admin
如何恢复我以前的django管理页面。仅供参考,我是网络技术和Django的新手
解决方法
您需要运行collectstatic命令:
- SSH进入您的EC2实例
- 运行
python manage.py collectstatic
假设您正确设置了静态文件,则此后它应该可以工作。
,尝试运行此命令
python manage.py collectstatic
如果它不起作用,请尝试
python manage.py collectstatic --no-input
,
如果该问题在您项目的所有页面上普遍存在,请尝试使用collectstatic, Django提供了从所有应用程序收集静态文件的命令 到一个位置。这简化了在生产环境中提供静态文件的设置。
打开外壳并运行以下命令:
python manage.py collectstatic
您将看到以下输出: 165个静态文件已复制到“ / yourproject / static”。 位于每个应用程序的static /目录下的文件 INSTALLED_APPS设置已复制到全局/ yourproject / static /项目 目录。
然后,编辑config / nginx.conf文件并添加:
location /static/ {alias /home/projects/yourproject/static/;}
location /media/ {alias /home/projects/yourproject/media/;}
行后:
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass yourproject;
}
将/ home / projects / yourproject /路径替换为绝对路径 到您的项目目录
,只需在 setting.py 文件中打开 DEBUG 模式,它就可以正常工作。
DEBUG = True