Статические файлы не загружаются при развертывании приложения 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;
    }

и теперь статические файлы работают.

Другие вопросы по тегам