Skip to main content

Flask and SQLAlchemy extensions for web applications

Project description

关于

FlaskzFlaskSQLAlchemy ORM的扩展工具集, 主要用于web应用的开发, 可以快速灵活的实现各种业务场景并提供API。

使用

  1. ☞数据库初始化&常用函数
  2. ☞数据模型扩展类
  3. ☞API封装、访问权限控制和系统日志
  4. ☞常用函数
  5. ☞基于Flaskz的管理系统开发模板 Flaskz-admin
  6. ☞使用手册

版本

  • 1.8.0 2024/06/01
    • [A] 扩展flaskz.rest路由生成模块
      • 添加register_model_bulk_route函数, 用于生成指定数据模型的批量增删改路由
      • 添加register_model_bulk_add_route函数, 用于生成指定数据模型的批量添加路由
      • 添加register_model_bulk_delete_route函数, 用于生成指定数据模型的批量删除路由
      • 添加register_model_bulk_update_route函数, 用于生成指定数据模型的批量更新路由
    • [A] 添加flaskz.utils.request函数(替代flaskz.utils.api_request函数)
    • [A] 添加flaskz.utils.json_dumps函数以序列化对象为JSON字符串
    • [F] 修复flaskz.ext.ssh.SSH_pre_commands_run的未赋值问题
  • 1.7.3 2024/05/01
    • [C] flaskz.utils.ins_to_dict函数返回的dict中包含值为None的键值
    • [A] BaseModelMixin.to_dict方法的option参数添加relationships选项,用于自定义是否查询关联关系
    • [A] FLASKZ_DATABASE_SESSION_KWARGS配置参数添加reusable_in_flask_g选项, 用于设置是否在flask.g中缓存&复用session对象(默认复用)
    • [C] flaskz.ext.ssh返回值保留文本两侧的空格
    • [A] flaskz.ext.ssh.SSH添加pre_commands参数, 用于在命令执行之前预先执行控制相关命令
  • 1.7.2 2024/02/01
    • [A] flaskz.models.parse_pss函数支持like_columns参数, 用于定义模糊查询列(默认使用模型类的like_columns)
    • [A] flaskz.utils.api_request函数添加http_kwargs参数,用于设置http请求参数
  • 1.7.1 2024/01/05
    • [F] 修复SQLAlchemy<2.0.0版本时, flaskz.models._util.pyBinaryExpression类的导入问题
  • 1.7.0 2024/01/01
    • [C] SQLAlchemy依赖的版本从>=1.3.13(EOL)升级到>=1.4.0(Maintenance)
    • [A] BaseModelMixin.query_pss方法支持relationship的查询和排序
    • [A] flaskz.models.parse_pss函数支持relationship的查询和排序参数解析
  • 1.6.4 2023/12/01
    • [A] BaseModelMixin添加refresh方法, 用于更新当前模型对象
    • [A] 添加flaskz.models.refresh_instance函数, 用于更新模型对象/列表
    • [A] model_to_dict函数的option参数添加filter选项, 用于过滤模型对象列表
    • [A] flaskz.rest.register_model_query_pss_route路由生成函数添加get_pss_config参数, 用于自定义pss查询参数
    • [A] flaskz.ext.ssh添加ssh_run_commandssh_run_command_list函数
    • [A] flaskz.ext.ssh.SSH添加connect_kwargschannel_kwargs参数以自定义connect和channel参数
    • [A] flaskz.ext.ssh.SSH设置timeout参数的默认值为10
  • 1.6.3 2023/09/01
    • [A] 添加FLASKZ_DATABASE_SESSION_KWARGS配置参数, 用于自定义DBSession参数
    • [C] BaseModelMixin.add_dbBaseModelMixin.update_db方法添加refresh操作, 以返回跟数据库同步的instance对象
    • [A] flaskz.rest.register_model_*路由生成函数添加路由endpoint参数
  • 1.6.2 2023/07/06
    • [F] 修复flaskz.utils._request_args.pyimport parse_pss as get_pss的导入问题
  • 1.6.1 2023/07/01
    • [C] flaskz.utils.get_pss(flaskz.models.parse_pss)函数返回项由SQL字符串拼接改为参数化模式以预防SQL注入
    • [A] 添加flaskz.utils.run_at函数用于执行定时函数
  • 1.6 2023/06/16
    • [A] BaseModelMixin添加count方法, 用于数量查询(全量/条件)
    • [A] BaseModelMixin添加clear_db方法, 用于清空数据
    • [A] BaseModelMixin.query_pss方法支持GROUP BY分组
    • [A] flaskz.ext.ssh添加对Paramiko>=3.0.0版本的支持
    • [A] flaskz.ext.ssh.SSH添加secondary_passwordrecv_endswith参数
  • 1.5.3 2023/06/01
    • [F] flaskz.utils.api_request函数的url_params参数仅用于url中的{变量}替换而不添加查询字符串
    • [A] flaskz.utils.api_request函数添加url_search_params参数用于添加url查询字符串
  • 1.5.2 2023/05/17
    • [C] db_session上下文管理器自动关闭非缓存session
    • [F] 修复BaseModelMixin.get_query_default_order默认排序在query_pss方法中不起作用的问题
  • 1.5 2023/05/01
    • [A] 扩展flaskz.rest路由生成模块
      • 添加register_model_route函数, 可用于生成指定数据模型的CRUD等路由
      • 添加register_model_add_route函数, 可用于生成指定数据模型的添加路由
      • 添加register_model_delete_route函数, 可用于生成指定数据模型的删除路由
      • 添加register_model_update_route函数, 可用于生成指定数据模型的更新路由
      • 添加register_model_upsert_route函数, 可用于生成指定数据模型的添加/更新路由
      • 添加register_model_query_route函数, 可用于生成指定数据模型的全量查询路由
      • 添加register_model_query_pss_route函数, 可用于生成指定数据模型的条件查询(分页+搜索+排序)路由
      • 添加register_models_query_route函数, 可用于生成多个数据模型的全量查询路由
    • [A] ModelMixin.query_pss方法支持多列排序
    • [A] flaskz.models.init_modelflaskz.log.init_log函数添加对Class类型参数的支持
    • [A] BaseModelMixin.delete_db方法添加对dict类型参数的支持
    • [A] flaskz.utils添加cls_to_dict函数, 用于生成类属性的dict对象
    • [C] BaseModelMixin.bulk_delete方法会删除符合条件的所有数据(此前版本只删除第一个)
  • 1.3.1 2023/03/02
    • [C] init_model_rest_blueprint函数生成的路由, 移除参数path类型转换, 以解决Flask<2.2.3版本不会将结尾不带/的请求重定向到带/路由的问题
  • 1.3 2023/03/01
    • [A] init_model_rest_blueprint函数生成的query路由, 添加对单个数据的查询功能([GET]url_prefix/did/)
    • [A] init_model_rest_blueprint函数生成的update路由, 添加URL主键支持([PATCH]url_prefix/did/)
    • [C] init_model_rest_blueprint函数生成的delete路由, 结尾添加/, 用于支持以/结尾的URL删除请求([DELETE]url_prefix/did/)
    • [A] 添加FLASKZ_DATABASE_ENGINE_KWARGS参数, 用于自定义engine参数
  • 1.2 2023/02/01
    • [A] 添加FLASKZ_DATABASE_POOL_PRE_PING参数, 用于设置engine的pool_pre_ping参数
    • [A] init_model函数添加数据库连接异常处理和重新连接
    • [C] init_model_rest_blueprint函数生成的删除路由URL中的id参数添加path类型转换(v1.3.1已移除)
  • 1.1 2023/01/01
    • [F] 修复BaseModelMixinupdate_dbdelete_db方法在非Flask应用或没有Flask应用上下文时的操作失败问题
  • 1.0 2022/12/01
    • [A] 添加flaskz.utils.set_timeoutflaskz.utils.set_interval函数用于延迟和周期性函数执行
    • [A] flaskz.ext.ssh.SSH添加timeout参数以设置超时时间(登录&命令执行)
    • [F] 修复BaseModelMixin.bulk_delete方法因某条数据删除失败导致的操作中断和部分删除问题
  • 0.9 2022/10/01
    • [A] 添加flaskz.auth包, 提供了JWS授权功能
    • [A] 添加flaskz.ext.ssh, 提供了ssh相关功能(pip install paramiko)
  • 0.8 2022/08/01
    • [A] BaseModelMixinModelMixin模型扩展类添加没有Flask上下文环境时的使用支持
    • [A] 添加flaskz.ext包用于存放扩展工具类, 请注意ext包中的代码依赖的第三方包, 不在flaskz的install_requires中, 需要单独安装
    • [C] 将flaskz.utils.RSACipherflaskz.utils.AESCipher类所在的cypher.py文件移到了flaskz.ext包中
  • 0.7 2022/06/01
    • [A] 添加flaskz.utils.RSACipherflaskz.utils.AESCipher类用于加密&解密, 需要安装pycryptodome
    • [A] 添加flaskz.utils.append_url_search_params函数, 用于向url中添加search参数
  • 0.6 2022/05/06
    • [F] 修复当数据模型relationship中设置lazy=joined时, 排序引起的"Can't resolve label reference"问题
    • [F] 修复merge_dict方法, 因使用iteritems导致的bug
    • [F] 修复forward_request方法, 因请求没有设置Content-Type=application/json, 获取json时引发的BadRequest('Content-Type was not 'application/json')异常
    • [F] 修复未调用init_log初始化, 调用flaskz_logger时, 引起的NameError(name '_flaskz_logger' is not defined)问题
  • 0.3 2021/11/26
    • [A] 添加FLASKZ_LOGGER_DISABLED参数, 用于控制flaskz_logger的启用和禁用
    • [A] 添加使用文档
    • [C] 修改flaskz.utils.forward_request函数逻辑, 如果url_params参数为空时, 会把request.view_args作为url_params参数来调用api_request
  • 0.2 2021/11/12
    • [F] 修复query_multiple_model函数bug
    • [C] 对部分参数名进行规范化调整
  • 0.1 2021/10/26
    • 发布

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flaskz-1.8.0.tar.gz (55.8 kB view hashes)

Uploaded Source

Built Distribution

flaskz-1.8.0-py3-none-any.whl (59.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page