def create_app(config, **kwargs): app = create_base_app(config) app.config["MONGODB_SETTINGS"] = dict(db="flask_security_test", host="localhost", port=27017) db = MongoEngine(app) class Role(db.Document, RoleMixin): name = db.StringField(required=True, unique=True, max_length=80) description = db.StringField(max_length=255) class User(db.Document, UserMixin): email = db.StringField(unique=True, max_length=255) password = db.StringField(required=True, max_length=255) last_login_at = db.DateTimeField() current_login_at = db.DateTimeField() last_login_ip = db.StringField(max_length=100) current_login_ip = db.StringField(max_length=100) login_count = db.IntField() active = db.BooleanField(default=True) confirmed_at = db.DateTimeField() roles = db.ListField(db.ReferenceField(Role), default=[]) @app.before_first_request def before_first_request(): User.drop_collection() Role.drop_collection() populate_data(app.config.get("USER_COUNT", None)) app.security = Security(app, datastore=MongoEngineUserDatastore(db, User, Role), **kwargs) add_context_processors(app.security) return app
def create_app(config, **kwargs): app = create_base_app(config) #app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost/flask_security_test' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://' db = SQLAlchemy(app) roles_users = db.Table( 'roles_users', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) class Role(db.Model, RoleMixin): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), unique=True) password = db.Column(db.String(255)) last_login_at = db.Column(db.DateTime()) current_login_at = db.Column(db.DateTime()) last_login_ip = db.Column(db.String(100)) current_login_ip = db.Column(db.String(100)) login_count = db.Column(db.Integer) active = db.Column(db.Boolean()) confirmed_at = db.Column(db.DateTime()) roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic')) @app.before_first_request def before_first_request(): db.drop_all() db.create_all() populate_data(app.config.get('USER_COUNT', None)) app.security = Security(app, datastore=SQLAlchemyUserDatastore(db, User, Role), **kwargs) add_context_processors(app.security) return app
def create_app(config, **kwargs): app = create_base_app(config) app.config['DATABASE'] = { 'name': 'peewee.db', 'engine': 'peewee.SqliteDatabase' } db = Database(app) class Role(db.Model, RoleMixin): name = TextField(unique=True) description = TextField(null=True) class User(db.Model, UserMixin): email = TextField() username = TextField() password = TextField() last_login_at = DateTimeField(null=True) current_login_at = DateTimeField(null=True) last_login_ip = TextField(null=True) current_login_ip = TextField(null=True) login_count = IntegerField(null=True) active = BooleanField(default=True) confirmed_at = DateTimeField(null=True) class UserRoles(db.Model): """ Peewee does not have built-in many-to-many support, so we have to create this mapping class to link users to roles.""" user = ForeignKeyField(User, related_name='roles') role = ForeignKeyField(Role, related_name='users') name = property(lambda self: self.role.name) description = property(lambda self: self.role.description) @app.before_first_request def before_first_request(): for Model in (Role, User, UserRoles): Model.drop_table(fail_silently=True) Model.create_table() populate_data(app.config.get('USER_COUNT', None)) app.security = Security(app, datastore=PeeweeUserDatastore(db, User, Role, UserRoles), **kwargs) add_context_processors(app.security) return app
def create_app(config, register_blueprint=True): app = create_base_app(config) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost/flask_security_test' db = SQLAlchemy(app) roles_users = db.Table('roles_users', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) class Role(db.Model, RoleMixin): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), unique=True) password = db.Column(db.String(255)) last_login_at = db.Column(db.DateTime()) current_login_at = db.Column(db.DateTime()) last_login_ip = db.Column(db.String(100)) current_login_ip = db.Column(db.String(100)) login_count = db.Column(db.Integer) active = db.Column(db.Boolean()) confirmed_at = db.Column(db.DateTime()) roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic')) @app.before_first_request def before_first_request(): db.drop_all() db.create_all() populate_data(app.config.get('USER_COUNT', None)) app.security = Security(app, SQLAlchemyUserDatastore(db, User, Role), register_blueprint=register_blueprint) add_context_processors(app.security) return app
def create_app(config, **kwargs): app = create_base_app(config) app.config['MONGODB_SETTINGS'] = dict( db='flask_security_test', host='localhost', port=27017 ) db = MongoEngine(app) class Role(db.Document, RoleMixin): name = db.StringField(required=True, unique=True, max_length=80) description = db.StringField(max_length=255) class User(db.Document, UserMixin): email = db.StringField(unique=True, max_length=255) username = db.StringField(max_length=255) password = db.StringField(required=True, max_length=255) last_login_at = db.DateTimeField() current_login_at = db.DateTimeField() last_login_ip = db.StringField(max_length=100) current_login_ip = db.StringField(max_length=100) login_count = db.IntField() active = db.BooleanField(default=True) confirmed_at = db.DateTimeField() roles = db.ListField(db.ReferenceField(Role), default=[]) @app.before_first_request def before_first_request(): User.drop_collection() Role.drop_collection() populate_data(app.config.get('USER_COUNT', None)) app.security = Security(app, datastore=MongoEngineUserDatastore(db, User, Role), **kwargs) add_context_processors(app.security) return app