diff --git a/.env b/.env index 4b5d647..a627814 100644 --- a/.env +++ b/.env @@ -1 +1,3 @@ -FLASK_APP=flasky.py \ No newline at end of file +FLASK_APP=flasky.py +#FLASK_CONFIG=development +FLASK_CONFIG=production \ No newline at end of file diff --git a/app/__init__.py b/app/__init__.py index baf1548..fe7cd0e 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -34,6 +34,9 @@ def create_app(config_name): app.config.from_object(config[config_name]) config[config_name].init_app(app) + if config[config_name].DEBUG: + admin.init_app(app) + debug_toolbar.init_app(app) bootstrap.init_app(app) mail.init_app(app) @@ -43,9 +46,8 @@ def create_app(config_name): db.init_app(app) login_manager.init_app(app) pagedown.init_app(app) - debug_toolbar.init_app(app) flask_static_digest.init_app(app) - admin.init_app(app) + from .main import main as main_blueprint diff --git a/config.py b/config.py index c303d5b..4f6d8f6 100644 --- a/config.py +++ b/config.py @@ -36,19 +36,23 @@ class Config: class DevelopmentConfig(Config): DEBUG = True + TESTING = True SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or \ 'sqlite:///' + os.path.join(basedir, 'data-dev.sqlite') class TestingConfig(Config): + DEBUG = False TESTING = True SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL') or \ 'sqlite://' class ProductionConfig(Config): + DEBUG = False + TESTING = False SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \ - 'sqlite:///' + os.path.join(basedir, 'data.sqlite') + 'sqlite:///' + os.path.join(basedir, 'data-dev.sqlite') config = { diff --git a/data-dev.sqlite b/data-dev.sqlite index 87502db..5506a1c 100644 Binary files a/data-dev.sqlite and b/data-dev.sqlite differ diff --git a/data.sqlite b/data.sqlite new file mode 100644 index 0000000..e69de29 diff --git a/flasky.py b/flasky.py index d8a6e6b..de27efd 100644 --- a/flasky.py +++ b/flasky.py @@ -14,8 +14,10 @@ from app.models import User, Role, Students, Permission, Post, Comment, Like, No # if you want to execute the program # please run this file +from config import config -app = create_app(os.getenv('FLASK_CONFIG') or 'default') +config_name = os.getenv('FLASK_CONFIG') or 'default' +app = create_app(config_name) migrate = Migrate(app, db, render_as_batch=True) @@ -94,24 +96,25 @@ def favicon(): # app.secret_key = GeetestLib.VERSION # User, Role, Students, Permission, Post, Comment, Like, Notification, Transaction, Activity -admin.add_view(ModelView(User, db.session, name="Users", endpoint="users")) -admin.add_view(ModelView(Role, db.session, name="roles", endpoint="roles")) -admin.add_view(ModelView(Students, db.session, name="Studentss", endpoint="Studentss")) -# admin.add_view(ModelView(Permission, db.session, name="Permissions", endpoint="Permissions")) -admin.add_view(ModelView(Post, db.session, name="Posts", endpoint="Posts")) -admin.add_view(ModelView(Comment, db.session, name="Comments", endpoint="Comments")) -admin.add_view(ModelView(Like, db.session, name="Likes", endpoint="Likes")) -admin.add_view(ModelView(Notification, db.session, name="Notifications", endpoint="Notifications")) -admin.add_view(ModelView(Transaction, db.session, name="Transactions", endpoint="Transactions")) -admin.add_view(ModelView(Activity, db.session, name="Activities", endpoint="Activities")) -admin.add_view(FileAdmin(".")) -ApiDoc( - app, - title="Sample App", - version="1.0.0", - description="A simple app API", -) -app.config["API_DOC_MEMBER"] = ["app", "main"] +if config[config_name].DEBUG: + admin.add_view(ModelView(User, db.session, name="Users", endpoint="users")) + admin.add_view(ModelView(Role, db.session, name="roles", endpoint="roles")) + admin.add_view(ModelView(Students, db.session, name="Studentss", endpoint="Studentss")) + # admin.add_view(ModelView(Permission, db.session, name="Permissions", endpoint="Permissions")) + admin.add_view(ModelView(Post, db.session, name="Posts", endpoint="Posts")) + admin.add_view(ModelView(Comment, db.session, name="Comments", endpoint="Comments")) + admin.add_view(ModelView(Like, db.session, name="Likes", endpoint="Likes")) + admin.add_view(ModelView(Notification, db.session, name="Notifications", endpoint="Notifications")) + admin.add_view(ModelView(Transaction, db.session, name="Transactions", endpoint="Transactions")) + admin.add_view(ModelView(Activity, db.session, name="Activities", endpoint="Activities")) + admin.add_view(FileAdmin(".")) + ApiDoc( + app, + title="Sample App", + version="1.0.0", + description="A simple app API", + ) + app.config["API_DOC_MEMBER"] = ["app", "main"] if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')