django 项目中使用项目环境制作脚本 通过终端命令运行脚本文件(management/commands)…
在实际的django项目开发中,有时候需要制作一些脚本文件对项目数据进行处理,然后通过终端命令运行脚本。
完整的实现流程如下:
management
包中继续创建一个包 commands
demo_script.py
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 可以查看改脚本支持的命令列表信息
python manage.py my_shell