开发 Django 项目的辅助工具。
项目描述
manage_django_project
开发 Django 项目的辅助工具
- 轻松启动虚拟环境
- 只需获取源代码并调用
./manage.py
- 只需要
python3-pip
和python3-venv
软件包即可启动
- 只需获取源代码并调用
- 所有 Django manage 命令都可作为常规 CLI 和通过
cmd2
shell 使用 cmd2
shell 可自动完成所有现有的 manage 命令和所有选项- 自动在
local
和tests
设置之间切换 Django 设置。 - 开发时有用的 manage 命令
包含的 Django manage 命令
code_style
- 检查/修复项目代码风格coverage
- 使用覆盖率运行测试并报告install
- 仅通过 pip 将项目安装为可编辑的(如果版本已更改,则很有用)pip_audit
- 使用pyproject.toml
中的配置运行pip-audit
playwright
- 调用 playwright CLIproject_info
- 当前 Django 项目的信息publish
- 构建新版本并将其发布到 PyPirun_dev_server
- 设置测试项目并运行 django 开发者服务器shell
- 进入带有所有已注册 Django manage 命令的 cmd2 shelltox
- 通过 tox 运行测试update_req
- 通过 pip-tools 更新项目需求update_test_snapshot_files
- 更新所有快照文件(通过删除并重新创建所有快照文件)
如何使用
使用 manage_django_project
在您的项目中需要一些步骤。
以下是一个概述和详细信息
- 将
manage_django_project
添加到您的开发依赖中 - 您的 Django 项目应该有针对
prod
、local
和tests
的单独设置(后两个由manage_django_project
使用) - 添加 bootstrap
manage.py
- 添加一个包含
execute_django_from_command_line()
调用的__main__.py
- 在您的
pyproject.toml
中- 添加
[manage_django_project]
部分 - 将
__main__
文件添加到[project.scripts]
- 添加
- 将你的
[project.scripts]
名称添加到bootstrapmanage.py
以下所有示例都使用了manage_django_project_example
。你必须将此字符串/路径重命名为你的Django包名。
完整示例在此:https://github.com/jedie/manage_django_project/tree/main/manage_django_project_example
如果一切按预期工作,你只需调用./manage.py
文件,魔法就会发生 ;)
main.py
添加一个.../manage_django_project_example/__main__.py
文件,看起来像
from manage_django_project.manage import execute_django_from_command_line
def main():
"""
entrypoint installed via pyproject.toml and [project.scripts] section.
Must be set in ./manage.py and PROJECT_SHELL_SCRIPT
"""
execute_django_from_command_line()
if __name__ == '__main__':
main()
pyproject.toml
[project.scripts]
manage_django_project_example = "manage_django_project_example.__main__:main"
[manage_django_project]
module_name="your_project_example"
# Django settings used for all commands except test/coverage/tox:
local_settings='your_project.settings.local'
# Django settings used for test/coverage/tox commands:
test_settings='your_project.settings.tests'
./manage.py
将manage.py文件的副本添加到你的项目源根目录。
只更改此行中的manage_django_project_example
PROJECT_SHELL_SCRIPT = BIN_PATH / 'manage_django_project_example'
开始编写代码
只需克隆项目并开始./manage.py
以引导虚拟环境
# Install base requirements:
~$ sudo apt install python3-pip python3-venv
# Get the sources:
~$ git clone https://github.com/jedie/manage_django_project.git
~$ cd manage_django_project/
# Just call manage.py and the magic happen:
~/manage_django_project$ ./manage.py
# start local dev. web server:
~/django-for-runners$ ./manage.py run_dev_server
# run tests:
~/django-for-runners$ ./manage.py test
# or with coverage
~/django-for-runners$ ./manage.py coverage
# or via tox:
~/django-for-runners$ ./manage.py tox
不兼容的更改
v0.2.x -> v0.3.x
配置已从__main__.py
移动到pyproject.toml
你必须在pyproject.toml
中添加以下内容
[manage_django_project]
module_name="your_project_example"
# Django settings used for all commands except test/coverage/tox:
local_settings='your_project.settings.local'
# Django settings used for test/coverage/tox commands:
test_settings='your_project.settings.tests'
从execute_django_from_command_line()
中删除了config
参数,因此你的__main__.py
必须看起来像
from manage_django_project.manage import execute_django_from_command_line
def main():
execute_django_from_command_line()
if __name__ == '__main__':
main()
发布新版本
我们使用cli-base-utilities在README中生成历史记录。
要发布新版本,请执行以下操作
- 增加你的项目版本号
- 运行测试以更新README
- 提交更改
- 创建发布
历史记录
- v0.8.0
- 2024-08-02 - 将“safety”替换为“pip-audit”并添加相关工具。
- 2024-08-02 - 更新项目设置
- 2024-08-02 - 更新要求和添加git预提交钩子
- 2024-05-21 - 更新要求
- 2024-05-21 - 安全性:忽略CVE-2018-20225
- 2024-05-21 - 从manageprojects模板更新
- v0.7.2
- 2024-02-20 - 将“--strip-extras”添加到pip-compile并更新要求
- v0.7.1
- 2024-01-18 - 在测试中使用typeguard
- 2024-01-18 - 更新要求
- 2024-01-18 - manageprojects更新 + 设置最小Python为3.9
- v0.7.0
- 2023-12-19 - 应用manageprojects:扩展测试矩阵 + 更新要求 + 跳过Python 3.9
- 2023-12-19 - 为unittests设置django
- 2023-12-16 - 修复代码风格错误
- 2023-12-16 - 使用update_readme_history &作为git钩子
- 2023-11-07 - 更新要求
扩展更早的历史记录...
- v0.6.4
- 2023-11-01 - 更新要求
- v0.6.3
- 2023-11-01 - 更新要求
- 2023-11-01 - 在README中自动生成历史记录
- 2023-11-01 - 修复运行manage命令时子进程超时的问题
- v0.6.2
- 2023-09-24 - 使用https://github.com/jedie/cli-base-utilities中的工具
- v0.6.1
- 2023-09-24 - 在测试运行后始终清除覆盖率数据
- 2023-09-24 - 添加与Playwright CLI交互的管理命令
- v0.6.0
- 2023-09-24 - 从README中删除过时的历史记录
- 2023-09-24 - 更好的命令调用信息
- 2023-09-24 - 新命令:update_test_snapshot_files
- 2023-09-24 - 自动清除覆盖率数据
- 2023-09-24 - 更新要求
- v0.5.2
- 2023-08-17 - 修复:manageprojects必须是正常依赖项
- v0.5.1
- 2023-08-17 - 使用cli_base中的print_version
- 2023-08-17 - 更新要求
- 2023-08-17 - cookiecutter_directory = "managed-django-project"
- 2023-08-17 - 应用模板更新
- v0.5.0
- 2023-08-15 - 使用https://github.com/jedie/cli-base-utilities
- 2023-08-04 - 更新要求
- v0.4.1
- 2023-04-08 - 使用manageprojects中的get_pyproject_toml并添加到update_req的总结输出
- v0.4.0
- 2023-04-07 - 针对不同Django版本的测试
- 2023-04-07 - 增强 "update_req" 命令
- v0.3.0
- 2023-04-05 - 从
__main__.py
移至pyproject.toml
- 2023-04-05 - 修复 tox 运行错误
- 2023-04-05 - 更新 manage.py
- 2023-04-05 - 删除 README.md
- 2023-04-05 - 小型项目更新
- 2023-04-05 - 从
- v0.2.2
- 2023-04-02 - 修复代码风格
- 2023-04-02 - 应用管理项目更新
- 2023-04-02 - 忽略非
django.core.management.base.BaseCommand
基于的命令 - 2023-04-02 - 更新需求
- v0.2.1
- 2023-03-16 - 修复测试
- 2023-03-16 - 在 README 中添加 "包含的 Django 管理命令"
- 2023-03-16 - 错别字
- 2023-03-16 - 设置 v0.2.1
- 2023-03-16 - 增强文档
- 2023-03-16 - 从
ManageConfig
中移除prod_settings
并添加local_settings_commands
- 2023-03-16 - 添加对 bootstrap manage.py 调用的测试
- 2023-03-16 - 通过激活 --concurrency=multiprocessing 修复覆盖率
- 2023-03-15 - 修复 CI
- 2023-03-15 - "tox" 命令:在失败运行时退出 "normal"
- 2023-03-15 - 为 "safety" 命令添加测试
- 2023-03-15 - 测试 "tox" 命令
- 2023-03-15 - 为 "run_dev_server" 命令添加测试
- 2023-03-15 - 测试 "project_info" 命令
- 2023-03-15 - 测试 "install" 命令
- 2023-03-15 - 测试 "code_sytle" 命令
- 2023-03-15 - 代码清理:删除未使用的文件
- 2023-03-14 - +测试覆盖率
- 2023-03-14 - 测试 "update_req"
- 2023-03-14 - 为 "update_req" 添加基本测试
- 2023-03-14 - 为 unittests 添加 DocTest
- 2023-03-14 - 测试 shell
- 2023-03-14 - 跳过损坏的命令
- 2023-03-14 - 删除调试打印
- v0.2.0
- 2023-03-13 - 新增:使用所有注册的 Django 管理命令的 "./manage.py shell" 命令
- v0.1.1
- 2023-03-13 - 在发布调用中使用
distribution_name
- 2023-03-13 - 在发布调用中使用
- v0.1.0
- 2023-03-12 - 在创建新 '.coverage' 之前删除现有的 '.coverage'
- 2023-03-12 - 检查设置
- 2023-03-12 - 重命名测试设置并检查测试中使用的设置
- 2023-03-12 - 在发布之前使用测试设置运行测试
- 2023-03-12 - 更新 README.md
- v0.0.1
- 2023-03-11 - 初始化
- 2023-03-11 - 初始提交
项目详情
下载文件
下载适合您平台的项目文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分发
manage_django_project-0.8.0.tar.gz (189.6 kB 查看哈希值)