Мой веб-сайт просто загрузит существующую таблицу (бренд) с сервера SQL и отобразит ее на странице индекса.Я могу запустить веб-сайт на своей машине без каких-либо проблем, но кажется, что при развертывании проекта в Heroku таблицы не существует.
(Развертывание работает нормально, если веб-сайт не 't подключиться к SQL Server.)
Это мои настройки:
runtime.txt
python-3.7.0
Procfile
web: gunicorn project_heroku.wsgi --log-file -
settings.py
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': DB_DEFAULT_NAME,
'USER': DB_USER,
'PASSWORD': DB_PASSWORD,
'HOST': DB_HOST,
'PORT': '',
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
'unicode_results': True,
}
}
}
models.py
class Brand(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=60)
class Meta:
managed = False
db_table = 'brand'
просмотров.py
from .models import Brand
def index(request):
brand = list(Brand.objects.all().values())
context = {
'brand': brand
}
return render(request, 'index.html', context)
Я добавил 2 пакета сборки на Heroku
- https://github.com/heroku/heroku-buildpack-apt
- heroku / python
В моем Aptfile
unixodbc
unixodbc-dev
python-pyodbc
libsqliteodbc
В моих требованиях. Txt
django
pyodbc
gunicorn
django-heroku
django-pyodbc-azure
Пакет был успешно собран, но сайт дает этоошибка
ProgrammingError at /
relation "brand" does not exist
LINE 1: SELECT "brand"."id", "brand"."name" FROM "brand"
Пожалуйста, помогите!Спасибо !!
==================================
Обновление:
Я обнаружил, что Heroku автоматически создает и прикрепляет postgresql, который мне не нужен.Поэтому я удалил postgresql, и ошибка изменилась на Не могу открыть lib 'ODBC Driver 17 for SQL Server': файл не найден.:( Полагаю, что я должен что-то сделать с конфигом DATABASE_URL.