我的 __ init __。py 文件
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from config import app_config
db = SQLAlchemy()
def create_app(config_name):
app = Flask(__name__, instance_relative_config=True)
app.config.from_object(app_config[config_name])
app.config.from_pyfile('config.py')
db.init_app(app)
@app.route('/')
def index():
return 'Hello, user'
return app
我会找到烧瓶的教程 build crud app flask
我的 config.py 文件:
import os
# Set path for our db
basedir = os.path.dirname(os.path.abspath(__file__))
class Config:
DEBUG = True
class DevConfig(Config):
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir,
'bookshell.db')
SQLALCHEMY_ECHO = True
SQLALCHEMY_TRACK_MODIFICATIONS = False
class ProdConfig(Config):
DEBUG = False
class TestConfig(Config):
DEBUG = True
app_config = {
'development': DevConfig,
'production': ProdConfig,
'testing': TestConfig
}
run.py 文件
import os
# Import from app/__init__
from app import create_app
config_name = os.getenv('FLASK_CONFIG', 'development')
app = create_app(config_name)
if __name__ == '__main__':
app.run()
因此,我尝试配置自己的config.py文件,但出现错误
FileNotFoundError: [Errno 2] Unable to load configuration file (No such file or directory): '/Users/yevhensurzhenko/Desktop/Simple_login_form/instance/config.py'
但是当我更改某些配置并尝试重新加载页面时,它给了我 405错误方法不允许 或
app.config.from_object(app_config[config_name])
KeyError: <flask.cli.ScriptInfo object at 0x1038a5b70>
所以,我做了一些更改,例如
在 config.py 中添加
app_config = {
..
'default': DevConfig
}
在 __ init __。py 中创建实例目录。
from instance import config
现在我从在 __ init __。py,create__app()...
中创建的func中获得输出@app.route('/')
def index():
return 'Hello, user'
但是,FLASK_CONFIG不会改变,它只能用于生产,wtf:(