def server(self) -> _Flask: """ 服务器初始化函数: 创建 Flask 服务器 替换 Flask 默认 logger 设置服务器密钥 """ # 生成 Flask 应用服务器 self.__modules.server = _Flask("leaf") self.__modules.server.logger = self.__modules.logging.logger self.__modules.server.secret_key = core.tools.encrypt.random(64) return self.__modules.server
def create_app(config='dev'): """ Create our application and initialize the database. :param config: The type of default configuration to load. [dev, prod] :return: An initialized Flask() object """ from flask import Flask as _Flask from .configuration import DevConfiguration app = _Flask(__name__) if config == 'dev': app.config.from_object(DevConfiguration) # Initialize the DB object with our app from hangman.models import db, User, Game, Role, roles_users db.init_app(app) # Configure flask_admin views from flask_admin import Admin, helpers as admin_helpers from hangman.views.admin import AdminGameView, AdminUserView admin = Admin(app, 'Hangman Admin', template_mode='bootstrap3') admin.add_view(AdminUserView(db.session)) admin.add_view(AdminGameView(db.session)) # Initialize security from flask_security import Security, SQLAlchemyUserDatastore from hangman.models import security # security = Security(app, SQLAlchemyUserDatastore(db, User, Role)) @security.context_processor def security_context_processor(): return dict( admin_base_template=admin.base_template, admin_view=admin.index_view, h=admin_helpers, ) security.init_app(app, SQLAlchemyUserDatastore(db, User, Role)) return app
def server(self, dev: core.algorithm.StaticDict) -> _Flask: """ 服务器初始化函数: 创建 Flask 服务器 替换 Flask 默认 logger 设置服务器密钥 """ # 生成 Flask 应用服务器 self.__modules.server = _Flask("leaf") self.__modules.server.logger = self.__modules.logging.logger self.__modules.server.secret_key = core.tools.encrypt.random(64) self.__modules.server.debug = dev.enable self.__modules.server.devjwt = dev.token # 引用其他的 views 视图函数并注册 Blueprints 蓝图 server: _Flask = self.__modules.server from .views.rbac import rbac as _rbac from .views.commodity import commodity as _commodity from .views.order import order as _order server.register_blueprint(_rbac, url_prefix="/rbac") server.register_blueprint(_commodity, url_prefix="/commodity") server.register_blueprint(_order, url_prefix="/order") return self.__modules.server
import json #post请求传入json对象时,通过json获取参数 from flask import jsonify from flask_cors import CORS,cross_origin from flask.json import JSONEncoder as _JSONEncoder from datetime import date import random import datetime #导入转换datetime时间的包 from datetime import timedelta #导入记住登陆状态需要的包 import RecommendationAlgorithm import os #文件操作包 #导入第三方连接库 from flask_sqlalchemy import SQLAlchemy # 实例化,可视为固定格式 app = _Flask(__name__) # 跨域 CORS(app) app.config.from_object(Config) # 创建sqlalchemy对象 db = SQLAlchemy(app) #记住登录状态 # 要用session,必须app配置一个密钥 app.secret_key = "xjw" app.config['SESSION_COOKIE_NAME']="session_key" #这是配置网页中sessions显示的key app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=12) # 配置12小时有效 # 设置session # session['uname'] = str(uname)
from flask import Flask as _Flask from dash import Dash as _Dash import dash_bootstrap_components as _dbc DASH_BASE_PATHNAME = '/jinder/' flask_server = _Flask(__name__) flask_server.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 app = _Dash(name=__name__, server=flask_server, url_base_pathname=DASH_BASE_PATHNAME, suppress_callback_exceptions=True, external_stylesheets=[_dbc.themes.BOOTSTRAP]) app.title = 'Jinder'