Django stati c файлы не загружаются с NGINX - PullRequest
1 голос
/ 06 апреля 2020

Я пытаюсь опубликовать sh мое первое Django приложение на рабочем сервере с NGINX.

project
--app1
--app2
--config
   settings.py
   wsgi.py
   urls.py
--venv
manage.py

nginx конфигурацией

server {
    listen 80;
    server_name my_IP_adress;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/websites/testAPP;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

В моих настройках я есть следующий код

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ROOT_DIR = environ.Path(__file__)


STATIC_URL = '/static/'
STATIC_ROOT = str(ROOT_DIR('statics'))
STATICFILES_DIRS = [
    str(BASE_DIR.path('static')),
]
STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

в urls.py Я добавил

] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

Но, когда я запускаю collectstato c на рабочем сервере, я получаю эту ошибку:

settings.py", line 24, in <module>
    str(BASE_DIR.path('static')),
AttributeError: 'str' object has no attribute 'path'

Как это исправить?

1 Ответ

1 голос
/ 06 апреля 2020

BASE_DIR это просто строка ... строки не имеют атрибута path ... Я думаю, вы имели в виду

STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static'),
]
...