django 使用内部mangement-command脚本

django 项目中使用项目环境制作脚本 通过终端命令运行脚本文件(management/commands)…

在实际的django项目开发中,有时候需要制作一些脚本文件对项目数据进行处理,然后通过终端命令运行脚本。

完整的实现流程如下:

1.在一个应用目录下(app, 必须是在应用目录下,可以专门创建一个应用来保存脚本文件)创建 management 包,注意是包。
2.在 management 包中继续创建一个包 commands
3.在包中创建你的脚本文件,这里命名为demo_script.py
4.编辑脚本文件
from django.core.management.base import BaseCommand,  CommandError  #  导入的第二个包用来抛出异常,中止脚本的执行

# 在脚本中可以导入项目环境中任何的包进行使用,包括orm

# 类名一定,必须继承自BaseCommand
class Command(BaseCommand):

    help = "print your input"

  # 添加可以从命令中获取的可选参数(options):
    option_list = BaseCommand.option_list + (
        make_option(
            '-d',
            '--delete',
            action='store_true',
            dest='delete',
            default=False,
            help='删除命令'),
        )


    # 必须实现的方法,功能就定义在这个方法里实现
    def handle(self, *args, **options):
         
     # 获取命令中的参数
     item = options['delete']

make_option声明的命令在options接收。除了在make_option外声明的命令,其它参数,皆在args

使用 python manage.py demo_script --help 可以查看改脚本支持的命令列表信息

5. 在命令行中执行该脚本文件,进入manage.py文件所在目录

python manage.py my_shell

你可能感兴趣的:(Python,python,django,cammond)