Невозможно экспортировать статические в django продукции - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь запустить в производство веб-сайт, используя nginx и gunicorn, но после многих попыток мои css и js не видны.

Корнем проекта является / root / ouverture

Мои статические файлы root - это / root / ouverture / coloc / static

здесь это то, что я написал в моих settings.py

STATIC_ROOT  = "/static/" 
STATIC_URL = '/static/'

вот мои / etc / nginx / sites-доступный / coloc

server {
    listen 80; server_name 51.91.111.135;
    root /root/ouverture/;
    location /static {
            root /root/ouverture/coloc/;
    }
    location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect off;
            proxy_pass http://127.0.0.1:8000;
    }

}

Можете ли вы помочь мне, пожалуйста, я не вижу, где моя ошибка. Спасибо

Ответы [ 3 ]

0 голосов
/ 05 октября 2019

Что-то не так с вашей конфигурацией, и вы можете посмотреть на это.

  1. Ваши статические файлы root. My static files root is /root/ouverture/coloc/static с этим ваш STATIC_ROOT должен быть STATIC_ROOT='/root/ouverture/coloc/static' или, может быть, что-то вроде этого STATIC_ROOT=os.path.join(BASE_DIR, 'static') и BASE_DIR - это ваш проект DIR (BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))))

  2. ВыВы пытаетесь обслуживать ваше приложение, а также статические файлы, поэтому вам может не понадобиться root, alias также работает.

    location /static/ {
         alias /root/ouverture/coloc/static/;
    }

Просто не забудьте запустить ./manage.py collectstatic наваш проект, чтобы ваши статические файлы были скопированы в папку STATIC_ROOT, сначала проверьте, что ваши статические файлы там, а затем делайте это шаг за шагом, пока вы не увидите статические файлы по пути /static/.

0 голосов
/ 06 октября 2019

Я изменил свой static_root на "/ root / ouverture / coloc / static" и внес изменения в конфигурационные файлы nginx. Я тоже сделал коллекционирование. но все та же проблема, у меня есть только HTML, но без CSS и JS без каких-либо ошибок ..

0 голосов
/ 05 октября 2019

Почему вы установили STATIC_ROOT = "/static/"? Вы хотите, чтобы статические файлы входили в /root/ouverture/coloc/static, поэтому вы должны установить STATIC_ROOT. Затем убедитесь, что вы запускаете collectstatic.

...