Мое flask приложение отлично работает в dev, но не может найти переменные файла .env при развертывании в apache2.4 с mod_wsgi windows 10 - PullRequest
0 голосов
/ 23 марта 2020

Все нормально как в 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 не найдено. то же самое для всех других переменных

...