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 应用程序,以django-admin
。使用virtualenv
参数,所有管理命令将由给定的virtualenv
安装执行。
要求
执行此模块的主机需要满足以下要求。
django >= 4.1
参数
参数 |
注释 |
---|---|
自 community.general 9.0.0 起,此选项不再有任何效果。 它将从 community.general 11.0.0 中删除。 选择
|
|
要定位的以空格分隔的应用程序列表。由 |
|
用于数据库支持的缓存的表名称。由 |
|
在尝试复制或链接原始文件之前,清除现有文件。 仅与 选择
|
|
要运行的 Django 管理命令的名称。下面列出的命令内置于此模块中,并具有一些基本参数验证。
可以输入其他命令,但如果 Django 未知,则会失败。其他可能会提示用户输入的命令应使用 对值 |
|
要定位的数据库。由 |
|
如果测试失败,则立即使命令失败。由 选择
|
|
要在数据库中加载的以空格分隔的 fixture 文件名列表。 |
|
将创建指向文件的链接而不是复制文件,您只能将此参数与 选择
|
|
将按顺序运行或缺少迁移,因为它们不是回滚迁移,您只能将此参数与 选择
|
|
Django 应用程序根目录的路径,其中 |
|
要添加到 Python 路径的目录。通常用于包含设置模块(如果它位于应用程序目录的外部)。 这等效于将 |
|
应用程序设置模块的 Python 路径,例如 |
|
将跳过乱序的缺失迁移,此参数只能与 选择
|
|
控制用于执行测试的测试运行器类。 此参数将按原样传递给 |
|
一个可选的 虚拟环境必须存在,否则模块将失败。 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 无 |
可以在 |
|
支持: 无 |
当处于 diff 模式时,将返回有关已更改(或可能需要在 |
说明
注意
注意:在 community.general 版本 9.0.0 中,已移除对早于 4.1 的 Django 版本的支持。虽然该模块允许自由形式的命令,但不验证所使用的 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 }}"