django - Django 3(Ubuntu、Nginx、Gunicorn、SSL)中的管理静态文件问题
问题描述
我在我的项目中使用 Django 3.* 并且一切正常,因为我已经从 Certbot 的 Let's Encrypt 安装了 SSL,从那时起我在管理中遇到了提供静态文件的问题。
我的 Nginx 配置:
server {
server_name casekam.ru www.casekam.ru;
client_max_body_size 100M;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias /home/gleb/casekam/django_shop/django_shop/static/;
}
location /media/ {
alias /home/gleb/casekam/django_shop/django_shop/media/;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/casekam.sock;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/casekam.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/casekam.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.casekam.ru) {
# return 301 https://$host$request_uri;
return 301 https://casekam.ru$request_uri;
} # managed by Certbot
if ($host = casekam.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name casekam.ru www.casekam.ru;
return 404; # managed by Certbot
}
无法弄清楚我在哪里错了。将适用于任何提示和提示。
解决方案
改变:
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
至
# if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
推荐阅读
- firebase - Firebase响应中ETag的含义
- tomcat - Oracle Apex 版本 4.2.0.00.27 升级到 19.1 - 旧应用程序没有 CSS,新应用程序没问题
- jquery - 选择不同的单选按钮后如何获得不同的输出?
- javascript - Three.JS 错误 - 纹理不是二的幂/无法更改纹理
- angularjs - Froala Angularjs 添加自定义按钮
- javascript - 使用 Chrome 扩展程序发送会话 Cookie
- hana - SAP Cloud Platform 试用版 - 无法打开 HDI 容器
- python - 如何在python中使用修改后的输出大小绘制混淆矩阵并输出为.svg图像?
- webpack - 尝试设置 Webpack 时如何解决“错误:您需要提供目标平台”
- sharepoint - 如何根据前一个屏幕过滤 powerapps 库