community.general.django_manage 模块 – 管理 Django 应用程序
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:community.general.django_manage。
概要
使用
manage.py应用程序前端到django-admin来管理 Django 应用程序。使用virtualenv参数,所有管理命令将由给定的virtualenv安装执行。
要求
在执行此模块的主机上需要以下要求。
django >= 4.1
参数
参数 |
注释 |
|---|---|
自 community.general 9.0.0 以来,此选项不再有任何效果。 它将从 community.general 11.0.0 中删除。 选择
|
|
要定位的以空格分隔的应用程序列表。由 |
|
用于数据库支持的缓存的表名称。由 |
|
在尝试复制或链接原始文件之前,清除现有文件。 仅与 选择
|
|
要运行的 Django 管理命令的名称。下面列出的命令在此模块中内置,并具有一些基本的参数验证。
可以输入其他命令,但如果它们对 Django 未知,则会失败。其他可能提示用户输入的命令应使用 对值 |
|
要定位的数据库。由 |
|
如果测试失败,则立即使命令失败。由 选择
|
|
要加载到数据库中的以空格分隔的 fixture 文件名列表。 |
|
将创建指向文件的链接而不是复制它们,您只能将此参数与 选择
|
|
将按顺序运行或缺少迁移,因为它们不是回滚迁移,您只能将此参数与 选择
|
|
指向 Django 应用程序根目录的路径,其中包含 |
|
要添加到 Python 路径的目录。通常用于包含位于应用程序目录外部的 settings 模块。 这相当于将 |
|
应用程序的 settings 模块的 Python 路径,例如 |
|
将跳过顺序错误的缺失迁移,此参数只能与 选择
|
|
控制用于执行测试的测试运行器类。 此参数会原样传递给 |
|
在运行管理应用程序时使用的 虚拟环境必须存在,否则模块将失败。 |
属性
属性 |
支持 |
描述 |
|---|---|---|
支持: 无 |
可以在 |
|
支持: 无 |
当处于 diff 模式时,将返回已更改的内容(或可能需要在 |
注意
注意
注意: 在 community.general 版本 9.0.0 中,已移除对 Django 4.1 之前版本的支持。虽然该模块允许自由格式的命令,但不会验证正在使用的 Django 版本,强烈建议使用较新版本的 Django。
请注意,Django 4.1 需要 Python 3.8 或更高版本。
如果指定了
virtualenv参数,并且给定位置尚不存在虚拟环境,则此模块不会创建虚拟环境。此行为在 community.general 版本 9.0.0 中发生了更改。在 Ansible 中创建虚拟环境的推荐方法是使用 ansible.builtin.pip。
不幸的是,此模块假定
createcachetable命令使用英语错误消息来检测表是否存在。要使用
collectstatic命令,您必须在您的设置中启用staticfiles。您的
manage.py应用程序必须是可执行的(rwxr-xr-x),并且必须具有有效的 shebang,例如#!/usr/bin/env python,用于调用适当的 Python 解释器。
另请参阅
另请参阅
- django-admin 和 manage.py 参考
关于
django-admin或manage.py命令的参考。- Django 下载页面
显示如何获取 Django 以及受支持版本的发布时间线的页面。
- 我可以使用哪个 Python 版本来配合 Django?
来自 Django 常见问题解答,关于框架的 Python 要求的回应。
示例
- name: Run cleanup on the application installed in django_dir
community.general.django_manage:
command: clearsessions
project_path: "{{ django_dir }}"
- name: Load the initial_data fixture into the application
community.general.django_manage:
command: loaddata
project_path: "{{ django_dir }}"
fixtures: "{{ initial_data }}"
- name: Run syncdb on the application
community.general.django_manage:
command: migrate
project_path: "{{ django_dir }}"
settings: "{{ settings_app_name }}"
pythonpath: "{{ settings_dir }}"
virtualenv: "{{ virtualenv_dir }}"
- name: Run the SmokeTest test case from the main app. Useful for testing deploys
community.general.django_manage:
command: test
project_path: "{{ django_dir }}"
apps: main.SmokeTest
- name: Create an initial superuser
community.general.django_manage:
command: "createsuperuser --noinput --username=admin [email protected]"
project_path: "{{ django_dir }}"