Ошибка статического файла при развертывании приложения Django - PullRequest
0 голосов
/ 15 января 2019

Я понимаю, что существуют некоторые проблемы / ответы о загрузке статических файлов в производство.

Однако мой случай как-то отличается. Мое приложение Django развертывается не как основное приложение моего веб-сайта (не в папке public_html на сервере), а как дополнительное приложение (в папке вне public_html). Папка на сервере выглядит так:

home/myaccount/
├── public_html
|      └── static (not exist, location 1)
├── mydjango
       └── static (generated by collectstatic, location 2)
            └── css, fonts etc.

В моих settings.py, STATIC_ROOT = os.path.join(BASE_DIR, 'static/') и STATIC_URL = '/static/'.

В настоящее время браузер будет искать статические файлы в несуществующем местоположении 1, то есть www.mypage.com/static/..., вместо местоположения 2. Возвращается 404 ошибки.

Мой вопрос заключается в том, как я могу изменить STATIC_ROOT и STATIC_URL или другие настройки, чтобы браузер искал местоположение 2 вместо местоположения 1?

1 Ответ

0 голосов
/ 15 января 2019

Если вы используете сервер Linux, то более простым решением является создание символической ссылки статической папки расположения 2 в расположении 1.

ln -s /home/myaccount/mydjango/static /home/myaccount/public_html/static

Другим решением может быть создание пути STATIC_ROOT для указания на папку public_html.

...