Все нормально как в dev, так и в производстве (apache2.4 с wsgi), проблема в том, что переменные файла .env не могут быть найдены. Все они пусты!
Вот файл .env
SQLALCHEMY_DATABASE_URI='sqlite:///fbl_utilities.db'
LOGS_PATH='C:/Apache2.4/flask-app-env/AccessRequestBackend/app/logs/run-time-logs.log'
. Здесь находится файл config.py, который имеет класс конфигурации
import os
from dotenv import load_dotenv
load_dotenv()
class Config:
SECRET_KEY = os.getenv('SECRET_KEY')
SQLALCHEMY_DATABASE_URI = os.getenv('SQLALCHEMY_DATABASE_URI')
MAIL_SERVER = os.getenv('SMTP_HOST')
MAIL_PORT = os.getenv('SMTP_PORT')
MAIL_USE_TLS = os.getenv('SMTP_TLS')
MAIL_USERNAME = os.getenv('SMTP_USER')
MAIL_PASSWORD = os.getenv('SMTP_PASS')
LOGS_PATH = os.getenv('LOGS_PATH')
. init .py файл, где запускается мое приложение
def create_app(config_class=Config):
# init
app = Flask(__name__)
app.config.from_object(Config)
# dependancies
db.init_app(app)
bcrypt.init_app(app)
login_manager.init_app(app)
mail.init_app(app)
# routes
from app.users.routes import users
from app.main.routes import main
from app.departments.routes import departments
from app.requesttypes.routes import requesttypes
from app.serverapprovals.routes import serverapprovals
from app.serverrequestgroups.routes import serverrequestgroups
from app.serverrights.routes import serverrights
from app.servers.routes import servers
from app.vpnapprovals.routes import vpnapprovals
from app.vpns.routes import vpns
app.register_blueprint(users)
app.register_blueprint(main)
app.register_blueprint(departments)
app.register_blueprint(requesttypes)
app.register_blueprint(serverapprovals)
app.register_blueprint(serverrequestgroups)
app.register_blueprint(serverrights)
app.register_blueprint(servers)
app.register_blueprint(vpnapprovals)
app.register_blueprint(vpns)
return app
и, наконец, мой файл .wsgi
import sys
sys.path.insert(0, 'C:/Apache2.4/flask-app-env/AccessRequestBackend')
from app import create_app
application = create_app()
Я думаю, что-то не хватает при загрузке переменных среды для кода отлично работает в apache + wsgi только то, что значение SQLALCHEMY_DATABASE_URI не найдено. то же самое для всех других переменных