ディレクトリ構成
基本構成は以下で、appの下の_init_.pyに初期動作を書きこむ。
root/
┣run.py
┣app/
┣_init_.py
┣config.py
┣module1/
┣_init_.py
┣models.py
┣controllers.py
┣forms.py
┣templates/
┣static/
run.py
from app import create_app
if __name__ == "__main__":
    app = create_app()
    app.run()
app/__init__.pyy
from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
from flask.ext.sqlalchemy import SQLAlchemy # Import SQLAlchemy
from flask.ext.mongoengine import MongoEngine # Import Mongoengine
from flask.ext.admin import Admin
from app import config
# app setup
db = SQLAlchemy()
mongodb = MongoEngine()
admin = Admin()
toolbar = DebugToolbarExtension()
def create_app():
    app = Flask()
    app.config.config_from_object(config)
    #Initializing
    db.init_app(app)
    mongodb.init_app(app)
    admin.init_app(app)
    toolbar.init_app(app)
   # Import a module
    from app.module1.controllers import mod_app
    # Register blueprint(s)
    app.register_blueprint(mod_app)
    # Build the database:
    # This will create the database file using SQLAlchemy
    db.create_all()
    return app
こんな感じでしておけば、各モジュールで、url_prefixを指定しておき、register_bluepointで登録でいける。
configはファイルのままでもOKだが、windowsなどの場合"../"は微妙なので、importしてからオブジェクトで読ますのがいいと思う。
templatesやsataticはどこでもいいが、appの下がスマート。