def main(): from flask.ext import report from flask import Blueprint report_page = Blueprint("report", __name__, static_folder="static", template_folder="templates") d = dict(MAIL_SERVER='smtp.163.com', MAIL_PORT=25, MAIL_USE_TLS=False, MAIL_USE_SSL=False, MAIL_USERNAME='******', MAIL_PASSWORD='******') for k, v in d.items(): app.config[k] = v report.FlaskReport(app, db, utils.collect_models(models), report_page, table_label_map={'TB_USER': u'角色'}) app.register_blueprint(report_page, url_prefix="/report") app.run(debug=True, port=5001, host="0.0.0.0")
def setup_app(self): app = flask.Flask(__name__) from flask.ext.report import FlaskReport, utils report_page = flask.Blueprint("report", __name__, static_folder="static", template_folder="templates") db_fd, db_fname = tempfile.mkstemp() os.close(db_fd) app.config["SECRET_KEY"] = "JHdkj1adf;" app.config['BABEL_DEFAULT_LOCALE'] = 'zh_CN' from flask.ext.babel import Babel Babel(app) app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + db_fname db.init_app(app) db.app = app import models db.create_all() FlaskReport(db, utils.collect_models(models), app, report_page, table_label_map={'TB_USER': u'角色'}) app.register_blueprint(report_page, url_prefix="/report") self.init_data_set() self.init_notification() return app
if hasattr(v, '_sa_class_manager'): ret[v.__tablename__] = v.__modelname__ return ret class _FlaskReport(FlaskReport): def try_view_report(self): Permission.union(AdminPermission, AccountantPermission).test() def try_edit_data_set(self): Permission.union(AdminPermission, AccountantPermission).test() def try_edit_notification(self): AdminPermission.test() _FlaskReport(db, collect_models(models), app, report_page, { 'report_list': { 'nav_bar': nav_bar, }, 'report': { 'nav_bar': nav_bar, }, 'data_set': { 'nav_bar': nav_bar, }, 'data_sets': { 'nav_bar': nav_bar, }, 'notification_list': { 'nav_bar': nav_bar, },
if hasattr(v, '_sa_class_manager'): ret[v.__tablename__] = v.__modelname__ return ret class _FlaskReport(FlaskReport): def try_view_report(self): Permission.union(AdminPermission, AccountantPermission).test() def try_edit_data_set(self): Permission.union(AdminPermission, AccountantPermission).test() def try_edit_notification(self): AdminPermission.test() _FlaskReport( db, collect_models(models), app, report_page, { 'report_list': { 'nav_bar': nav_bar, }, 'report': { 'nav_bar': nav_bar, }, 'data_set': { 'nav_bar': nav_bar, }, 'data_sets': { 'nav_bar': nav_bar, }, 'notification_list': { 'nav_bar': nav_bar, },