def setup_components(app):
# bootstrap
Bootstrap(app)
# sqlalchemy
models.db.init_app(app)
# security
user_datastore = SQLAlchemyUserDatastore(models.db, models.User,
models.Role)
security = Security(app, user_datastore)
# admin
ModelView.page_size = app.config.get('SLIM_ITEMS_PER_PAGE', 5)
admin.name = app.config.get('SLIM_APPNAME', 'SLiM')
admin.init_app(app)
# define a context processor for merging flask-admin's template context
# into the flask-security views.
@security.context_processor
def security_context_processor():
return dict(
admin_base_template=admin.base_template,
admin_view=admin.index_view,
h=admin_helpers,
get_url=url_for
)
# nav
nav.init_app(app)
# flask-uploads
# patch_request_class(app, app.config['MAX_CONTENT_LENGTH'])
request_uploader = UploadSet('requests',
app.config['SLIM_REQUEST_EXTENSIONS'])
configure_uploads(app, request_uploader)
# components
components = dict(
user_datastore=user_datastore,
security=security,
request_uploader=request_uploader,
)
return components
评论列表
文章目录