gpt4 book ai didi

Django 管理员不工作/丑陋 - 使用 nginx 和 Gunicorn 提供服务

转载 作者:行者123 更新时间:2023-12-01 21:32:53 31 4
gpt4 key购买 nike

我在 Ubuntu EC2 实例上运行 nginx、gunicorn、django。整个网站运行良好。除了管理员。管理员无法正常显示。我运行“python manage.py Collectstatic”并编辑了 STATIC_ROOT 和 STATIC_URL。当我加载管理页面时,它很丑陋,但是当我检查源代码时,CSS 文件位于它们应该位于的位置

<title>Site administration | Django site admin</title> 
<link rel="stylesheet" type="text/css" href="http://staticfiles.mydomain.com/static/admin/css/base.css" />
<link rel="stylesheet" type="text/css" href="http://staticfiles.mydomain.com/static/admin/css/dashboard.css" />

我可以查看 nginx access.log 并看到文件正在被请求和传送,但页面无法正确显示。这就像文件已被接收但尚未处理。错误日志是干净的。

已解决

在 Chrome 开发者工具的控制台选项卡下,我注意到以下内容:

Resource interpreted as Script but transferred with MIME type text/plain: "http://staticfiles.<mydomain>.com/static/admin/js/jquery.min.js". 

所以文件被传递到浏览器,但它不知道如何处理它们。要修复它,我必须编辑 nginx.conf 并指定几个目录的默认类型...

location /static/admin/js/ {
default_type text/javascript;
alias /home/ubuntu/webapps/<myproject>/static/admin/js/;
}

location /static/admin/css/ {
default_type text/css;
alias /home/ubuntu/webapps/<myproject>/static/admin/css/;
}

解决了这个问题; django 管理加载样式表和 javascript 文件,并且外观和操作正常。我希望这对其他人有帮助。

最佳答案

我的解决方案;

1.step

编辑settings.py

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
STATIC_ROOT = "/opt/venv/myDjangoProject/static/"
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
)
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)

2.step

在终端中运行 collesctstatic :)

python manage.py collectstatic

关于Django 管理员不工作/丑陋 - 使用 nginx 和 Gunicorn 提供服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181121/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com