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 }}"