Я новичок в развертывании, и моя структура проекта немного отличается от большинства учебных пособий, которые я видел в Интернете для развертывания приложений Flask в Heroku. Мой проект включает динамическое содержимое страницы c и базу данных Flask SQLAlchemy. Я превратил каталог covaid ниже в пакет, а файл __init__.py
содержит переменные конфигурации моего приложения. Файл run.py
содержит код для запуска приложения.
init.py:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from keras.models import load_model
import keras
app = Flask(__name__)
app.config['SECRET_KEY'] = 'f21ee4e68cf4363ef42235910dcb041a'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
login_manager = LoginManager(app)
login_manager.login_view = 'login'
login_manager.login_message_category = 'info'
model = load_model('covaid/mymodel.h5')
model._make_predict_function()
from covaid import routes
run.py:
from covaid import app
if __name__ == '__main__':
app.run(debug=True)
Это мой структура проекта:
── README.md
├── covaid
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-37.pyc
│ │ ├── config.cpython-37.pyc
│ │ ├── forms.cpython-37.pyc
│ │ ├── models.cpython-37.pyc
│ │ └── routes.cpython-37.pyc
│ ├── config.py
│ ├── forms.py
│ ├── models.py
│ ├── mymodel.h5
│ ├── routes.py
│ ├── site.db
│ ├── static
│ │ ├── favicon.ico
│ │ └── main.css
│ └── templates
│ ├── about.html
│ ├── home.html
│ ├── layout.html
│ ├── login.html
│ ├── register.html
│ └── requests.html
└── run.py
Выше находится внутри моего главного каталога проекта под названием Covaid. Будем весьма благодарны за любые ресурсы или предложения по передаче этого на Heroku (или если что-то работает лучше, учитывая проблему).