Ваши конфиги говорят, что все доступное от /api/
или /admin/
предоставляется прокси на my_app
.Таким образом, вы можете либо гарантировать, что статические файлы, используемые этими конечными точками, доступны через Django Rest Framework, либо ИЛИ сказать NGINX, чтобы они всегда сначала пробовали статические файлы, а затем вернуться к прокси my_app
.
ПервыйОпция будет включать установку STATIC_ROOT
, STATIC_URL
, STATICFILES_STORAGE
и т. д. согласно документации Django для статических файлов (ссылка идет на текущую версию разработчика).
Другая опция включает сборактивы, используемые /api/
и /admin/
в том же месте, что и ваши ресурсы Angular, и изменение конфигурации NGINX, чтобы они выглядели примерно так:
# nginx.conf
upstream my_app {
server django:8000;
}
server {
listen 80;
location /staticfiles/ {
alias /usr/src/app/staticfiles/;
}
location / {
root /usr/src/app/staticfiles/;
try_files $uri $uri/ index.html;
location /drf {
proxy_pass http://my_app;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
}
В сущности, это означает, что нужно искать все в вашемКаталог Angular staticfiles
, если он не найден, попробуйте найти его в приложении DRF.