Django Heroku OperationalError нет такой таблицы: posts_post [duplicate]
Я читаю эту потрясающую книгу "Django 4.0 для начинающих" Уильяма С. Винсента https://djangoforbeginners.com/.
В главе 4 создается простое приложение для доски объявлений и развертывается на Heroku.
Запуск приложения локально работает без проблем. Возвращается простая веб-страница. Все тесты также завершаются без проблем.
Размещение кода на Heroku происходит просто, и ошибок не возникает.
Но как только код появляется на Heroku, он не похож на тот, который без проблем работал на моем локальном сервере.
Сообщение об ошибке Героку:
no such table: posts_post
<!-- templates/home.html -->
<h1>Message board homepage</h1>
<ul>
{% for post in post_list %}
<li>{{ post.text }}</li>
{% endfor %}
</ul>
Я не совсем понимаю, что эта ошибка пытается мне сказать. Код выглядит нормально, так что проблема должна быть в другом месте. И я не понимаю, как Django может работать локально без проблем, но затем Heroku это не нравится.
Изначально я думал, что "Format on Save" в Python Black нарушает отступы HTML (4 символа против 2 символов). Я отключил "Формат при сохранении" в Black и установил отступ в 2 символа в файле templates/home.html. Это также сработало локально, но привело к той же ошибке на Heroku.
Я выполнил все шаги в книге, касающиеся развертывания.
- установите Gunicorn
- создайте файл requirements.txt
- обновить ALLOWED_HOSTS
- создайте Procfile
- создайте файл runtime.txt
Есть идеи, где мне нужно посмотреть в проекте Django, чтобы решить эту проблему? И почему Heroku не нравится код, который работает локально?