Django Heroku OperationalError нет такой таблицы: posts_post [duplicate]

Я читаю эту потрясающую книгу "Django 4.0 для начинающих" Уильяма С. Винсента https://djangoforbeginners.com/.

В главе 4 создается простое приложение для доски объявлений и развертывается на Heroku.

Запуск приложения локально работает без проблем. Возвращается простая веб-страница. Все тесты также завершаются без проблем.

enter image description here

Размещение кода на 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.

Я выполнил все шаги в книге, касающиеся развертывания.

  1. установите Gunicorn
  2. создайте файл requirements.txt
  3. обновить ALLOWED_HOSTS
  4. создайте Procfile
  5. создайте файл runtime.txt

Есть идеи, где мне нужно посмотреть в проекте Django, чтобы решить эту проблему? И почему Heroku не нравится код, который работает локально?

enter image description here

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