45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
import os
|
|
from flask import Flask
|
|
|
|
from applications.common.script import admin_cli
|
|
from applications.extensions import init_plugs
|
|
from applications.view import init_view
|
|
from applications.configs import config
|
|
|
|
|
|
def create_app(config_name=None):
|
|
app = Flask(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
|
|
|
if not config_name:
|
|
# 尝试从本地环境中读取
|
|
config_name = os.getenv('FLASK_CONFIG', 'development')
|
|
|
|
# 引入数据库配置
|
|
app.config.from_object(config[config_name])
|
|
|
|
# 注册各种插件
|
|
init_plugs(app)
|
|
|
|
# 注册路由
|
|
init_view(app)
|
|
|
|
# 注册命令
|
|
app.cli.add_command(admin_cli)
|
|
|
|
if os.environ.get('WERKZEUG_RUN_MAIN') == 'true':
|
|
logo()
|
|
|
|
return app
|
|
|
|
|
|
def logo():
|
|
print('''
|
|
_____ _ _ ______ _ _
|
|
| __ \ /\ | | (_) | ____| | | |
|
|
| |__) |__ __ _ _ __ / \ __| |_ __ ___ _ _ __ | |__ | | __ _ ___| | __
|
|
| ___/ _ \/ _` | '__| / /\ \ / _` | '_ ` _ \| | '_ \ | __| | |/ _` / __| |/ /
|
|
| | | __/ (_| | | / ____ \ (_| | | | | | | | | | | | | | | (_| \__ \ <
|
|
|_| \___|\__,_|_| /_/ \_\__,_|_| |_| |_|_|_| |_| |_| |_|\__,_|___/_|\_\\
|
|
|
|
''')
|