-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
66 lines (49 loc) · 1.61 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from flask import (
Flask,
)
from flask_socketio import SocketIO
from models.base_model import db
import config
import secret
from utils import log
# socketio
socketio = SocketIO()
def register_routes(app):
"""
注册路由
"""
from routes.route_message import main as route_message
from routes.route_zhihu import main as route_zhihu
from routes.route_user import main as route_user
from routes.route_chat import main as route_chat
from routes.route_root import main as route_root
app.register_blueprint(route_message, url_prefix='/mail')
app.register_blueprint(route_zhihu, url_prefix='/zhihu')
app.register_blueprint(route_user, url_prefix='/user')
app.register_blueprint(route_chat, url_prefix='/chat')
app.register_blueprint(route_root, url_prefix='/')
def db_init(app):
"""
初始化数据库
"""
uri = 'mysql+pymysql://root:{}@localhost/{}?charset=utf8mb4'.format(
secret.database_password,
config.database_name,
)
app.config['SQLALCHEMY_DATABASE_URI'] = uri
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
def register_jinja_func(app):
from jinja_func import count, format_time
app.template_filter()(count)
app.template_filter()(format_time)
def configured_app():
app = Flask(__name__)
register_routes(app)
db_init(app)
# from routes import event_chat
# socketio.init_app(app)
register_jinja_func(app)
app.secret_key = secret.secret_key
# log('real socketio', socketio)
return app