Beispiel #1
0
from flask.ext.sqlalchemy import SQLAlchemy # 从 flask 扩展中导入 SQLAlchemy
from flask.ext.migrate import Migrate, MigrateCommand # 数据库迁移
from flask.ext.script import Manager
from flask.ext.moment import Moment
from flask.ext.mail import Mail, Message
from flask.ext.login import LoginManager
from flask.ext.bootstrap import Bootstrap # Twitter 的开源客户端框架, Bootstrap
from flask.ext.pagedown import PageDown # 客户端 Markdown 到 HTML 的转换程序

from config import config

bootstrap = Bootstrap()
mail = Mail()
moment = Moment()
db = SQLAlchemy()
db.SQLALCHEMY_TRACK_MODIFICATIONS = True
pagedown = PageDown()

login_manager = LoginManager()
login_manager.session_protection = 'strong'
login_manager.login_view = 'auth.login'
# print lm
# <flask_login.LoginManager object at 0x1036899d0>

def create_app(config_name):
	app = Flask(__name__) # 创建实例,因为是作为包被导入,'__name__'是包名,作为 flask 寻找文件的目录
# print __name__,2 # app
	app.config.from_object(config[config_name]) # 从文件对象 'config' 读取配置到`app.config`
	config[config_name].init_app(app)

	bootstrap.init_app(app)