def setUp(self): self.app = Flask(__name__) self.app.testing = True self.app.secret_key = 'for test' self.email_hash = hashlib.md5('*****@*****.**'.lower().encode('utf-8')).hexdigest() avatars = Avatars(self.app) # noqa self.real_avatars = avatars self.avatars = _Avatars self.context = self.app.test_request_context() self.context.push() self.client = self.app.test_client()
from flask_dropzone import Dropzone from flask_login import LoginManager, AnonymousUserMixin from flask_mail import Mail from flask_moment import Moment from flask_sqlalchemy import SQLAlchemy from flask_whooshee import Whooshee from flask_wtf import CSRFProtect bootstrap = Bootstrap() db = SQLAlchemy() login_manager = LoginManager() mail = Mail() dropzone = Dropzone() moment = Moment() whooshee = Whooshee() avatars = Avatars() csrf = CSRFProtect() @login_manager.user_loader def load_user(user_id): from albumy.models import User user = User.query.get(int(user_id)) return user login_manager.login_view = 'auth.login' login_manager.login_message_category = 'warning' login_manager.refresh_view = 'auth.re_authenticate' login_manager.needs_refresh_message_category = 'warning' class Guest(AnonymousUserMixin): def can(self, permission_name):
from flask_bcrypt import Bcrypt from flask_login import LoginManager from werkzeug.utils import secure_filename from flask_avatars import Avatars # from flask_wtf import CSRFProtect UPLOAD_FOLDER = 'signs_docs/static/medias/uploads/' ALLOWED_EXTENSIONS = set( ['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'odt', 'docx']) app = Flask(__name__) app.config['SECRET_KEY'] = 'b4f8d207f45b6ca20d28a8f11859b737' app.config[ 'SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://admin:[email protected]/flaskapp' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['WHOOSH_BASE'] = './Sign_Docs/whoosh' app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER db = SQLAlchemy(app) avatars = Avatars(app) # csrf = CSRFProtect(app) bcrypt = Bcrypt(app) login_manager = LoginManager(app) login_manager.login_view = 'login' login_manager.login_message_category = "info" from Sign_Docs import routes # wa.whoosh_index(app, GenerateKeys)
from flask_avatars import Avatars from flask_mail import Mail from flask_whooshee import Whooshee from flask_oauthlib.client import OAuth from flask_apscheduler import APScheduler import redis from flask_caching import Cache db = SQLAlchemy() migrate = Migrate() bootstrap = Bootstrap() moment = Moment() ckeditor = CKEditor() login_manager = LoginManager() share = Share() avatar = Avatars() mail = Mail() whooshee = Whooshee() pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True) rd = redis.Redis(connection_pool=pool) oauth = OAuth() aps = APScheduler() cache = Cache() @login_manager.user_loader def load_user(user_id): from blogin.models import User user = User.query.filter_by(id=user_id).first() return user
import os from flask import Flask from config import Config from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate from flask_login import LoginManager from flask_bootstrap import Bootstrap from flask_avatars import Avatars from flask_moment import Moment from flask_googlemaps import GoogleMaps my_app = Flask(__name__) my_app.config.from_object(Config) db = SQLAlchemy(my_app) bootstrap = Bootstrap(my_app) avatars = Avatars(my_app) moment = Moment(my_app) migrate = Migrate(my_app, db) login = LoginManager(my_app) login.login_view = 'login' login.login_message = "Пожалуйста, войдите, чтобы открыть эту страницу" googlemap = GoogleMaps(my_app) #, key=my_app.config['GOOGLEMAPS_KEY']) if not my_app.debug: if my_app.config['MAIL_SERVER']: auth = None if my_app.config['MAIL_USERNAME'] or my_app.config['MAIL_PASSWORD']: auth = (my_app.config['MAIL_USERNAME'], my_app.config['MAIL_PASSWORD']) secure = None if my_app.config['MAIL_USE_TLS']:
from flask_login import login_required, login_user, logout_user from flask_wtf.csrf import CSRFProtect import hashlib from flask_socketio import SocketIO from datetime import date, datetime from auth import login_manager, AuthModel from db_manager import get_user_by_id, get_user_by_md5, Mas_User, create_user from flask_avatars import Avatars app = Flask(__name__) app.secret_key = r'masala' login_manager.init_app(app) csrf = CSRFProtect(app) avatar = Avatars(app) @login_manager.user_loader def load_user(id): mu = get_user_by_id(id) au = AuthModel(mu.id) au.name = mu.name return au @app.route('/') @login_required def index(): return render_template('index.html')
def avatars_init(): global avatars avatars = Avatars(current_app)
from flask_dropzone import Dropzone from flask_login import LoginManager, AnonymousUserMixin from flask_mail import Mail from flask_moment import Moment from flask_sqlalchemy import SQLAlchemy from flask_wtf import CSRFProtect from flask_whooshee import Whooshee bootstrap = Bootstrap() db = SQLAlchemy() login_manager = LoginManager() mail = Mail() dropzone = Dropzone() # 图片上传 moment = Moment() whooshee = Whooshee() # 全文搜索 avatars = Avatars() # 头像功能 csrf = CSRFProtect() # 安全模块 @login_manager.user_loader def loader_user(user_id): from photosocial.models import User user = User.query.get(int(user_id)) return user login_manager.login_view = 'auth.login' login_manager.login_message_category = 'warning' login_manager.refresh_view = 'auth.re_authenticate' login_manager.needs_refresh_message_category = 'warning' login_manager.needs_refresh_message = '为了保证您的帐户安全,请重新登陆'
""" Provide instantiation of elements useful for all the serve, authorization, api, etc """ from flask import Flask from flask_httpauth import HTTPBasicAuth from flask_avatars import Avatars, Identicon from mangiato.constants import ALLOWED_EXTENSIONS_AVATAR APP = Flask(__name__) AUTH = HTTPBasicAuth() AVATARS = Avatars(APP) def get_roles_user(user): """ Giving a model user as input, return the set of role which the user belongs :param user: user to get roles :type: Model user :return: set of roles of user :type: set """ roles = set() for role in user.roles: roles.add(role.name) return roles def generate_avatar(username): """