跳转到主要内容

各种Django实用函数

项目描述

Boxine - bx_django_utils

各种Django实用函数

unittests Coverage Status on codecov.io

bx_django_utils @ PyPi Python Versions License MIT

快速入门

pip install bx_django_utils

支持的 Django 版本

bx_django_utils 通常遵循 Django 的支持计划。该项目针对 官方支持的 Django 版本它们各自支持的 CPython 版本 进行了测试。

然而,在特殊情况下,我们可能会决定提前取消对特定版本的 support,例如如果库的开发会受到严重影响。请查看我们的 tox 测试矩阵以获取明确的答案。

现有内容

这里只列出了现有工具的简单列表。请查看源代码和测试以获取更多信息。

bx_django_utils.admin_extra_views

Django Admin 额外视图:https://github.com/boxine/bx_django_utils/blob/master/bx_django_utils/admin_extra_views/README.md

bx_django_utils.admin_extra_views.admin_config

通过将其设置为默认管理站点来激活 "ExtraViewAdminSite"

  • CustomAdminConfig() - 将 Django Admin Site 更改为 ExtraViewAdminSite 以用于额外视图。

bx_django_utils.admin_extra_views.apps

bx_django_utils.admin_extra_views.conditions

  • only_staff_user() - 仅传递活动管理员用户。所有管理额外视图的默认条件。

bx_django_utils.admin_extra_views.datatypes

  • AdminExtraMeta() - 存储伪应用程序和伪模型的信息。
  • PseudoApp() - 代表 Django 应用程序的信息。实例必须传递给 @register_admin_view()。
bx_django_utils.admin_extra_views.management.commands.admin_extra_views
  • Command() - 管理命令 "admin_extra_views":有关注册的管理额外视图的信息。

bx_django_utils.admin_extra_views.registry

bx_django_utils.admin_extra_views.site

  • ExtraViewAdminSite() - 一个 AdminSite 对象封装了 Django 管理应用程序的实例,已准备好
bx_django_utils.admin_extra_views.tests.test_admin_extra_views

bx_django_utils.admin_extra_views.utils

bx_django_utils.admin_extra_views.views

bx_django_utils.admin_utils.admin_urls

构建管理URL的辅助工具

  • admin_change_url() - 为模型实例生成Django管理“更改”URL的快捷方式。
  • admin_changelist_url() - 为模型或实例生成Django管理“变更列表”URL的快捷方式。
  • admin_delete_url() - 为模型实例生成Django管理“删除”URL的快捷方式。
  • admin_history_url() - 为模型实例生成Django管理“历史”URL的快捷方式。
  • admin_model_url() - 使用可选的过滤器参数构建管理更改、添加、变更列表等链接。

bx_django_utils.admin_utils.filters

bx_django_utils.approve_workflow

基础模型/管理/表单类,用于实现具有草案/批准版本工作流程的模型

bx_django_utils.approve_workflow.admin

bx_django_utils.approve_workflow.forms

bx_django_utils.approve_workflow.models

bx_django_utils.cached_dataclasses

bx_django_utils.data_types.gtin

用于GTIN/UPC/EAN数字的ModelField、FormField和验证器

bx_django_utils.data_types.gtin.form_fields
bx_django_utils.data_types.gtin.model_fields
bx_django_utils.data_types.gtin.validators

bx_django_utils.dbperf.cursor

bx_django_utils.dbperf.query_recorder

  • SQLQueryRecorder() - 一个上下文管理器,允许记录在其生命周期内执行的SQL查询。

bx_django_utils.feature_flags

功能标志:[链接](https://github.com/boxine/bx_django_utils/blob/master/bx_django_utils/feature_flags/README.md)

bx_django_utils.feature_flags.admin_views

bx_django_utils.feature_flags.data_classes

  • FeatureFlag() - 一种将状态持久化到 Django 缓存/数据库中的功能标志。

bx_django_utils.feature_flags.test_utils

bx_django_utils.feature_flags.utils

  • if_feature() - 仅当指定的功能标志启用时才执行装饰函数的装饰器。

bx_django_utils.filename

bx_django_utils.generic_model_filter.admin_views

通用的 "AdminExtraView" 视图,用于根据任何字段值筛选可访问的模型。

bx_django_utils.http

bx_django_utils.humanize.pformat

  • pformat() - 使用 DjangoJSONEncoder 和回退到 pprint.pformat() 的更好 pretty-print-format

bx_django_utils.humanize.time

  • human_timedelta() - 将时间持续时间转换为友好的文本表示。(例如:X mssecminutes 等。)

bx_django_utils.json_utils

  • make_json_serializable() - 将值转换为 JSON 可序列化值,具有用于特殊对象的转换回调。
  • to_json() - 通过 make_json_serializable() 和 DjangoJSONEncoder() 将值转换为 JSON。

bx_django_utils.models.color_field

  • ColorModelField() - 十六进制颜色模型字段,例如:"#0055ff"(这不是一个 html 颜色选择器小部件)。
  • HexColorValidator() - 十六进制颜色验证器(七位十六进制表示法,例如:"#0055ff")。

bx_django_utils.models.get_models4user

bx_django_utils.models.manipulate

通过模型在数据库中操作对象的实用工具。

  • CreateOrUpdateResult() - create_or_update2() 返回的结果对象,包含有关创建/保存模型的所有信息。
  • FieldUpdate() - 更新模型字段值的信息。用于 CreateOrUpdateResult.update_info
  • InvalidStoreBehavior() - 在 create_or_update() 中使用,如果 "store_behavior" 包含不存在的字段名称。
  • create() - 使用可选的验证在创建之前创建一个新的模型实例。
  • create_or_update() - 创建一个新的模型实例或更新一个现有的实例。已弃用!请使用:create_or_update2()
  • create_or_update2() - 创建一个新的模型实例或更新一个现有的实例,并返回 CreateOrUpdateResult 实例
  • update_model_field() - create_or_update2() 的默认回调,用于设置已更改的模型字段值并扩展 CreateOrUpdateResult

bx_django_utils.models.queryset_utils

  • remove_filter() - 从 QuerySet 中删除已应用的 .filter()
  • remove_model_filter() - 如果 .filter() 包含对指定模型的引用,则从 QuerySet 中删除已应用的 .filter()

bx_django_utils.models.timetracking

bx_django_utils.stacktrace

bx_django_utils.templatetags.accessors

  • dict_get() - 从类似字典的容器中返回所需的成员,如果没有则返回空字符串

bx_django_utils.templatetags.humanize_time

  • human_duration() - 从模板标签开始的详细时间,例如:<span title="Jan. 1, 2000, noon">2.0 seconds</span>

bx_django_utils.test_utils

测试的实用程序/辅助工具。

bx_django_utils.test_utils.assert_queries

  • AssertQueries() - 断言执行的数据库查询:检查表名,重复/相似的查询。

bx_django_utils.test_utils.cache

  • ClearCacheMixin() - TestCase 混入,用于在 setUp/tearDown 中清除 Django 缓存
  • MockCache() - 模拟 Django 缓存后端,以便轻松检查/操作缓存内容

bx_django_utils.test_utils.content_types

bx_django_utils.test_utils.datetime

bx_django_utils.test_utils.fixtures

管理 JSON 文件中的文本固件的实用程序。

bx_django_utils.test_utils.forms

bx_django_utils.test_utils.html_assertion

bx_django_utils.test_utils.model_clean_assert

bx_django_utils.test_utils.playwright

在单元测试中使用Playwright + 快速Django用户登录

  • PlaywrightConfig() - 从环境(PWBROWSER,PWHEADLESS,PWSKIP,PWSLOWMO)获取PlaywrightTestCase配置。
  • PlaywrightTestCase() - 静态LiveServerTestCase,包含用于编写前端测试的Playwright辅助工具。

bx_django_utils.test_utils.users

bx_django_utils.translation

bx_django_utils.user_timezone

自动本地用户时区:https://github.com/boxine/bx_django_utils/blob/master/bx_django_utils/user_timezone/README.md

bx_django_utils.user_timezone.apps

bx_django_utils.user_timezone.humanize

bx_django_utils.user_timezone.middleware

bx_django_utils.user_timezone.templatetags.user_timezone

bx_django_utils.version

bx_django_utils.view_utils.dynamic_menu_urls

  • DynamicViewMenu() - 用于存储关于视图/URL的信息以构建菜单的简单存储。

开发

要开始开发,例如。

~$ git clone https://github.com/boxine/bx_django_utils.git
~$ cd bx_django_utils
~/bx_django_utils$ make
help                 List all commands
install-poetry       install poetry
install              install via poetry
update               Update the dependencies as according to the pyproject.toml file
lint                 Run code formatters and linter
fix-code-style       Fix code formatting
tox-listenvs         List all tox test environments
tox                  Run unittests via tox with all environments
test                 Run unittests
publish              Release new version to PyPi
docker-test          Run tests in docker
makemessages         Make and compile locales message files
start-dev-server     Start Django dev. server with the test project
clean                Remove created files from the test project (e.g.: SQlite, static files)
playwright-install   Install test browser for Playwright tests
playwright-inspector Run Playwright inspector
playwright-tests     Run only the Playwright tests

您可以使用Django开发服务器启动测试项目,例如。

~/bx_django_utils$ make start-dev-server

这是一个自己的管理命令,它会从我们的测试应用程序创建迁移文件、迁移、收集静态文件,并在没有用户的情况下创建超级用户 ;)

如果您想从头开始,只需删除相关的测试项目文件

~/bx_django_utils$ make clean

...然后再次启动测试服务器 ;)

创建版本

  • bx_django_utils/__init__.py中增加版本号
  • 创建拉取请求
  • 合并后,调用:make publish

许可协议

MIT. 欢迎贡献补丁!

关于我们

我们一直在重新思考儿童听觉体验,并创建了一个通过智能技术(Toniebox)将触觉和听觉体验结合在一起的平台。

我们不断寻找工程师加入我们团队的各个领域。如果您有兴趣为我们的平台做出贡献,请查看:https://tonies.com/jobs/

链接

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分发

bx_django_utils-79.tar.gz (190.2 kB 查看哈希值)

上传时间: 源代码

构建分发

bx_django_utils-79-py3-none-any.whl (199.3 kB 查看哈希值)

上传时间: Python 3

由以下支持