Django应用开发助手
项目描述
Django应用开发助手
django-app-helper是一组命令和辅助方法,旨在使开发和使用Django应用程序更容易。
它起源于django CMS生态系统,提供了许多实用功能来开发、运行和测试django CMS应用程序。
它是django CMS自身develop.py脚本的修改版本,修改后可以处理通用应用程序开发过程。
它支持使用Django TestCase编写的测试以及pytest测试(参见pytest支持)。
支持的版本
Python: 3.8, 3.9, 3.10, 3.11, 3.12
Django: 3.2, 4.0, 4.1, 4.2, 5.0
django CMS: 3.11
较新版本可能也可以使用,但尚未进行测试。
常用选项
--cms:加载配置以正确运行基于django CMS的应用程序;
--extra-settings:设置额外设置的辅助文件路径;有关详细信息,请参阅使用Django App Helper的项目设置;
用法
命令必须在与setup.py文件相同的目录(即主插件目录)中执行,因为它需要导入相对于当前目录的文件。
基本命令结构如下
django-app-helper <application> <command> [options ...]
其中,<application>是django应用程序名称,<command>是可用命令之一。每个命令的选项各不相同。
基础测试类
基础测试类可用于提供帮助器和实现开发或兼容性垫片(特别是对于django CMS)期间重复性任务的方法。
引导程序
要使用django-app-helper引导项目,您可能需要查看cookiecutter-djangopackage-helper,这是一个用于django-app-helper的cookiecutter模板。
使用方法请参见使用说明
运行器
通过在设置文件中集成运行器,您将能够在不调用django-app-helper的情况下运行命令:请参阅集成运行器以获取参考。
ASGI / Channels
通过使用安装了django-app-helper[async]的项目,支持ASGI / Channels。
安装了Daphne / Channels后,您可以使用django-app-helper server --use-daphne|--use-channels运行项目在ASGI上。
纯ASGI支持仅适用于Django 3.0+。
安装
从pip安装
pip install django-app-helper
从源代码安装
pip install git+https://github.com/nephila/django-app-helper#egg=django-app-helper
需求
django CMS是可选的;仅当使用--cms选项时才需要
docopt
tox
dj-database-url
文档
文档可在readthedocs上找到。
历史
3.3.4 (2024-01-28)
特性
将DjangoCMS 3.11添加到Django 5.0测试矩阵中(#252)
错误修复
修复Django 4.2中对DEFAULT_FILE_STORAGE/STATICFILES_STORAGE的支持(#255)
3.3.3 (2023-11-28)
特性
为Django 5.0 / Python 3.12兼容性做准备(#244)
切换到Coveralls Github操作(#248)
3.3.2 (2023-09-26)
特性
迁移到bump-my-version(#237)
错误修复
修复ruff linting(#232)
3.3.1 (2023-07-09)
错误修复
修复Django测试运行器上的runner-options参数(#220)
不要与django-filer 3+一起添加mptt(#225)
3.3.0 (2023-05-07)
特性
添加对Django 4.x的支持(#208)
3.2.0 (2023-01-19)
特性
将djangocms 3.11添加到tox,相应地修复测试(#311)
3.1.0 (2022-07-29)
特性
升级Python / Django版本(#204)
添加对Django 4.0的最小支持(#208)
3.0.1 (2020-12-09)
错误修复
修复pytest-django和Django 3.1一起加载设置(#202)
3.0.0 (2020-11-14)
特性
添加对Django 3.1 / django CMS 3.8的支持(#196)
添加对Django 3.0 / django CMS 3.7.2的支持(#142)
删除Python 2 / Django 1.11(#148)
添加对Daphne / channels runserver的支持(#198)
重构BaseTestCaseMixin以实现更可组合的混合(#107)
用invoke替换makefile(#143)
使用pre-commit进行代码格式化(#149)
允许通过runner-options参数将参数传递给pytest(#159)
添加对pytest命令的支持(#167)
更新dotfiles到最新版本(#189)
将测试重新组织到主包外部(#191)
删除对aldryn-boilerplates的支持(#199)
错误修复
修复runner_options支持(#92)
改进GA - 更新贡献指南 (#161)
允许在PytestTestRunner.run_tests中添加额外参数 (#165)
更新isort和linting配置 (#188)
杂项
#152, #185
2.2.2 (2020-05-15)
错误修复
修复pytest参数分割 (#155)
修复2.4版channels的runserver自动重新加载 (#157)
2.2.1 (2020-04-23)
修复打包错误
2.2.0 (2020-04-23)
特性
添加对Django 3.0 / django CMS 3.7.2的支持(#142)
用invoke替换makefile(#143)
2.1.1 (2020-02-04)
改进pytest兼容性
2.1.0 (2019-12-27)
使用black重新格式化代码并改进flake8配置
添加pytest兼容的运行器
2.0.1 (2019-12-22)
添加Django 3.0初步支持
2.0.0 (2019-10-13)
将应用重命名为django-app-helper
1.2.5 (2019-08-16)
添加django CMS 3.7
添加Django 2.2
1.2.4 (2019-08-08)
修复由#116引入的回归
1.2.3 (2019-08-05)
将pyflakes移至extras_require
修复get_request / post_request中不保留当前页面的错误
1.2.2 (2019-07-05)
通过添加更通用的请求方法改进请求生成
1.2.1 (2019-07-04)
修复创建具有不可写email属性的用户的错误
1.2.0 (2019-03-22)
放弃与Django <1.11、Python 3.4的兼容性
添加django CMS 3.6
添加django 2.0、2.1
1.1.1 (2019-07-03)
修复创建具有不可写email属性的用户的错误
1.1.0 (2018-02-20)
从setup.py中移除Django <1.8、Python 2.6、3.3
添加Django 1.11、Python 3.6
切换到Django 1.10+的新式中间件
创建生成图像的静态方法
修复与任意命令的持久选项行为
添加最小更改,允许第三方应用程序在django 2.0上运行测试
修复channels runserver的选项
移除对django-nose测试运行器的支持
1.0.0 (2017-07-25)
在服务器模式下添加ApphookReloadMiddleware
为FILE_UPLOAD_TEMP_DIR添加默认值
添加对django CMS 3.4.4 render_plugin的修复
0.9.8 (2017-03-04)
修复与新channels版本兼容性问题
0.9.7 (2016-12-03)
添加对django-sekizai 0.10的支持
修复setup.py中的mock依赖项
修复Django 1.10中服务器命令的问题
修复Django 1.10中urls.py的问题
修复与django CMS 3.4的测试问题
0.9.6 (2016-08-25)
添加对channels runserver的支持
添加服务器命令的详细级别
添加对Django 1.10的支持
添加对django CMS 3.4的支持
0.9.5 (2016-06-06)
修复与模拟会话存储相关的问题
添加测试的详细级别
修复用户创建问题
添加允许参数化自动创建用户的选项
修复extra_applications
0.9.4 (2016-01-20)
添加Naked设置模式
将TEMPLATE_DIRS添加到特殊设置
将TEMPLATE_LOADERS添加到特殊设置
允许在makemessages中指定区域
0.9.3 (2015-10-07)
添加–no-migrate选项以跳过迁移
添加安全参数以生成HTTPS请求
改进请求模拟
修复在django CMS 3.2(开发版)上的测试
添加对Python 3.5的支持
添加–persistent选项以使用持久存储
0.9.2 (2015-09-14)
在BaseTestCase.create_pages中添加对apphooks和父页面的支持
如果页面包含apphook,则自动重新加载urlconf
改进文档
添加对顶部定位MIDDLEWARE_CLASSES的支持
代码清理
0.9.1 (2015-08-30)
更好地支持aldryn-boilerplates
0.9.0 (2015-08-20)
完全支持Django 1.8 / django CMS develop
支持aldryn-boilerplates设置
测试期间默认启用迁移
BaseTestCase的轻微重构
移除对Django 1.5的支持
修复treebeard支持
一些小修复
向BaseTestCase添加login_user_context方法
0.8.1 (2015-05-31)
添加对Django 1.8 / django CMS develop的基本支持
代码清理
更智能的迁移布局检测
0.8.0 (2015-03-22)
添加–native选项以使用本地测试命令而不是django-app-helper命令
如果存在,则在Django 1.5上使用django-discover-runner
更好地处理运行器选项
添加对makemigrations的空/干燥运行参数的支持
在使用django CMS配置时,将USE_CMS标志添加到设置中
0.7.0 (2015-01-22)
修复阻止运行器发现设置的错误
django CMS不再是依赖项,请手动安装以启用django CMS支持
0.6.0 (2015-01-10)
添加一个运行器,使cms_helper文件本身成为django-app-helper的运行器
修复与mptt / treebeard和Django 1.7相关的问题
修复一些makemigrations / –migrate问题
让 django-app-helper 减少对 django CMS 的依赖
0.5.0 (2015-01-01)
修复使用额外设置时的错误
将消息框架添加到默认环境中
将 CSRF 中间件 / context_processor 添加到默认设置中
为测试用例添加基础帮助类
完全支持 Django 1.7
在 Django 1.6- 中更智能地检测迁移操作
添加创建外部应用程序迁移的选项
0.4.0 (2014-09-18)
添加对命令行测试运行器选项的支持
在 Django 1.7+ 中添加检查命令
添加 cms 检查命令(触发 cms 包含)
在 Django 1.7+ 中添加 squashmigration 命令
在 Django 1.7+ 中添加对 makemigrations 合并的支持
添加对自定义用户模型的支持
0.3.1 (2014-08-25)
添加 staticfiles 应用程序
如果启用 cms,则添加 djangocms_admin_style
0.3.0 (2014-08-14)
添加对 django nose 测试运行器的支持
添加默认 CMS 模板
0.2.0 (2014-08-12)
添加自定义示例项目设置的选项
添加从测试项目配置中排除 django CMS 的选项
添加对 Django 1.7 的支持
0.1.0 (2014-08-09)
首次公开发布。