我知道这已经被问过几次了,但这些解决方案似乎都不适合我。这是我第一次部署 Django 项目,作为引用,我遵循了这个教程:https://linuxhint.com/create_django_app_ubuntu/
因此,完全有可能有什么东西完全飞过我的头顶。
nginx 配置(我尝试使用别名而不是 root,带有和不带有斜杠,确保静态文件不属于 root 等):
upstream django {
server 127.0.0.1:8000;
}
server {
listen 80;
location /static/ {
root /home/bryan/Projects/portfolio;
try_files $uri =404;
}
location / {
try_files $uri @send_to_django;
}
location @send_to_django {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://django;
}
}
设置.py:STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
笔记:django.contrib.staticfiles
已安装python manage.py collectstatic
似乎在工作{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'home/css/index.css' %}">
我的文件结构:除了静态文件之外,该站点在此设置下也可以完美运行。
最佳答案
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
上述设置可能会导致静态文件被收集到/home/bryan/Projects/portfolio/static/static 目录关于python-3.x - Django静态文件404使用nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64069653/