Причины перехода Heroku: (staticfiles.E001) Параметр STATICFILES_DIRS не является кортежем или списком - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь перенести базу данных со своего компьютера на Heroku, чтобы запустить мое приложение в Интернете.

с использованием:

heroku run python manage.py migrate

возвращает:

?: (staticfiles.E001) The STATICFILES_DIRS setting is not a tuple or list.
    HINT: Perhaps you forgot a trailing comma? 

Моя «#static asset configuration» в settings.py выглядит следующим образом:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

На основе поисков я попытался превратить это в список в квадратных скобках, добавив запятую после второй ) и несколько других попыток.

Это второе приложение, которое я создаю из того же руководства (ускоренный курс по Python).Приложение из книги работает.Тот, который я создал для себя в качестве дополнительной практики, является тем, который сталкивается с этой проблемой, но кодировка, показанная выше, идентична между ними.

Как я могу это исправить?

1 Ответ

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

Heroku заботится о ваших статических файлах с пакетом django_heroku.Установите это в своем файле требований, добавьте импорт django_heroku в начало вашего файла settings.py и добавьте django_heroku.settings (locals ()) в конец.

Чтобы ответить на ваш вопрос, если вы должны сделать это вручную, вы можете попробовать изменить STATICFILES_DIRS на список вместо кортежа и убедиться, что каталог существует в назначаемом вами BASE_DIR.

Возможно, вам также потребуется добавить STATIC_URL = '/ static /'.Он должен находиться на том же уровне, что и ваш файл manage.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...