Статические файлы не загружаются при развертывании приложения django с префиксом
Я пытаюсь развернуть приложение Django вместе с WordPress в одном домене. Приложение Django должно находиться в подчиненном каталоге: "domain.com/djangoapp". Я попытался установить для переменной SCRIPT_NAME этот префикс в файле конфигурации nginx, а также в django settings.py. Это сработало, и приложение django можно открыть в / djangoapp url, но статические файлы не загружаются.
У меня есть следующая конфигурация nginx:
server {
server_name domain.com www.domain.com;
root /var/www/domain.com/htdocs;
index index.php index.html index.htm;
include common/redis.conf;
include common/wpcommon.conf;
location /static {
root /home/user/project;
}
location /djangoapp/ {
include proxy_params;
proxy_pass http://unix:/home/user/project/project.sock
proxy_set_header SCRIPT_NAME /djangoapp;
}
}
и settings.py:
FORCE_SCRIPT_NAME = '/djangoapp'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Также я попытался развернуть приложение django в отдельном домене, и там загрузились статические файлы. Конфиги были такими же, за исключением частей SCRIPT_NAME. Может кто-нибудь помочь?
1 ответ
Похоже, статические файлы не загружались из-за пропущенных /
в пути пути. Или, может быть, я сделал опечатку в пути к статической директории.
Я изменил местоположение на:
location /static/ {
root /home/user/project;
}
и теперь статические файлы работают.