@megared

Что делать, если пропадают css стили при Debug: False в Django?

В общем, запуская сайт с включённым Debug=True в settings.py всё нормально, сайт отображается корректно. Но когда я ставлю Debug=False и запускаю сайт, то он слетает полностью, остаётся только мешанина из текста, в общем сухой HTML шаблон. Так же, когда я запускаю сайт на 80 порту, казалось бы проблема испаряется. Но когда я запускаю сайт и кидаю тоннель через ngrok, то она вновь возвращается. Так вот. Как исправить проблему, описанную выше. Если кратко: ставлю Debug = True сайт работает нормально, когда ставлю Debug=False - CSS стили слетают.
  • Вопрос задан
  • 2155 просмотров
Решения вопроса 1
@megared Автор вопроса
Ответ нашёл, как я понял, при Debug=True Django перестаёт структурировать данные в static, из-за чего и пропадает css и всё остальное от статики. Я использовал эту команду: manage.py runserver --insecure и вроде бы сработало, но думаю тут есть какие-то подводные камни. Взял я всё это отсюда: *кликабельно*.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@buslay
Отдавайте статику Nginx'ом. Будет быстро и просто.

Собрать всю статику в одну папку нужно через manage.py collectstatic

Конфиг nginx для работы в паре с UWSGI сервером django
server {
    listen      80;
    server_name site.domain.ru;
    charset     utf-8;
    error_log   /usr/local/www/project/nginx_error.log;
    client_max_body_size 15m;

    location /robots.txt {
        alias /usr/local/www/project/robots.txt;
    }

    location /media  {
        alias /usr/local/www/project/src/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /usr/local/www/project/static; # your Django project's static files - amend as required
    }

    location /mediashare {
        alias /usr/local/www/project/mediashare; #
    }

    location / {
        uwsgi_read_timeout 600;
        uwsgi_send_timeout 600;
        uwsgi_pass  127.0.0.1:5004;
        include     uwsgi_params;
        add_header X-uri "$arg_page";
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы