Django collectstati c игнорирует папку в среде Heroku - PullRequest
0 голосов
/ 21 февраля 2020

Я строю монолит Django + Vue и конвейер выпуска, который я пытаюсь достичь, предполагает сборку интерфейса Vue в папку stati c приложения Django, запуск collectstatic и запуск сервер. Stati c файлы обслуживаются через WhiteNoise.

Он отлично работает на моей машине. Созданная папка попадает в пункт назначения собранных файлов stati c, и ее содержимое хорошо обрабатывается:

static folder of an appcollected static files

Но когда размещено на Heroku, все остальное собирается, кроме этой встроенной папки fly, она просто не попадает в staticfiles, даже если она присутствует в папке static приложения. Я убедился, что порядок выполнения был правильным, и даже запустил collectstatic вручную, убедившись, что папка была успешно создана.

Как вы могли заметить, у меня есть эта папка в .gitignore, но я попытался удалить его оттуда безрезультатно.

В чем может быть причина такого странного поведения?

ps Установка для DEBUG значения True и подача файлов * stati c через Django Результатом разработки сервера становится работающее приложение, которое еще раз подтверждает, что файлы находятся на своих местах.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Оказывается, мне просто нужно было изменить порядок сборок, чтобы сборка NodeJS запускалась раньше, чем Python.

Вы можете прочитать об установке порядка сборок здесь: https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app

0 голосов
/ 21 февраля 2020

Похоже, однако, что вы создаете этот каталог на лету, это проблема. Возможно, вам придется создать пользовательский пакет сборки для учета этого процесса. Или имейте действие фазы выпуска , которое его создает.

...