Python manage.py collectstatic не работает: TypeError: элемент последовательности 0: ожидается экземпляр str, найден NoneType

Я следил за этим видео на Youtube: https://www.youtube.com/watch?v=inQyZ7zFMHM1

Мой проект до сих пор отлично работает со статическими файлами, все файлы загружаются и работают должным образом. Итак, теперь мне нужно развернуть сайт на Heroku и для этого я загрузил базу данных на Amazon AWS, используя это видео.

После создания ведра я выполнил конфигурации, как указано в видео (скопировал статические файлы в Bucket AWS), но это не сработало для меня. Он всегда показывал мне ошибку, что failed to load the resources

В результате поиска я нашел команду python manage.py collectstatic для загрузки файлов в Bucket, поэтому я попробовал ее, но вот какую ошибку я продолжаю получать

TypeError: sequence item 0: expected str instance, NoneType found

Я много искал по этому вопросу, но не смог понять, в чем проблема. Это та же ошибка, которую я получил, когда сам загрузил статические файлы в Bucket и попытался загрузить изображение профиля

Мой settings.py файл выглядит следующим образом,

Это моя requirements.txt

asgiref==3.5.2
boto3==1.24.50
botocore==1.27.50
Django==4.1
django-filter==22.1
django-storages==1.13.1
djangorestframework==3.13.1
jmespath==1.0.1
Markdown==3.4.1
multielo==0.4.1
numpy==1.23.1
pandas==1.4.3
Pillow==9.2.0
psycopg2==2.9.3
python-dateutil==2.8.2
pytz==2022.1
s3transfer==0.6.0
six==1.16.0
sqlparse==0.4.2
tzdata==2022.1
urllib3==1.26.11
validate-email==1.3

Структура моего файла выглядит следующим образом,

enter image description here

Все статические файлы работают нормально, если они находятся на localhost, но не работают после соединения с AWS. Однако, база данных Postgres загружена на AWS и работает нормально (то есть, я могу создавать пользователей и т.д., используя базу данных AWS, и они работают нормально.)

Закомментируйте 'STATICFILES_DIRS' и попробуйте снова. Это использовалось только в моей разработке.

Также на заметку, я бы удалил ключи доступа из конфигурации вашего bucket при публикации здесь. Даже в продакшене они не должны быть там видны. Вы можете использовать JSON файл конфигурации или другой метод, который не позволяет получить доступ.

Вы неправильно написали AWS_KEY_ACCESS_KEY_ID

Должно быть AWS_ACCESS_KEY_ID

Программа ожидает строку с AWS_ACCESS_KEY_ID, но поскольку она написана неправильно, вместо нее получается None. По этой причине вы получаете ошибку NoneType Found

Вернуться на верх