在实际的django项目开发中,有时候需要制作一些脚本文件对项目数据进行处理,然后通过终端命令运行脚本。
完整的实现流程如下:
1.在一个应用目录下(app, 必须是在应用目录下,可以专门创建一个应用来保存脚本文件)创建 management 包,注意是包。
2.在 management 包中继续创建一个包 commands
3.在包中创建你的脚本文件,这里命名为my_shell.py
4.编辑脚本文件
from django.core.management.base import BaseCommand, CommandError # 导入的第二个包用来抛出异常,中止脚本的执行 # 在脚本中可以导入项目环境中任何的包进行使用,包括orm # 类名一定,必须继承自BaseCommand class Command(BaseCommand): help = "print your input"
# 添加可以从命令中获取的可选参数
def add_arguments(self, parser):
parser.add_argument(
'--delete',
action='store_true',
dest='delete',
default=False,
help='Delete poll instead of closing it'
)
# 必须实现的方法,功能就定义在这个方法里实现 def handle(self, *args, **option): item = input("请输入一个数字:") try: int(item) except ValueError as e: raise CommandError(e) print(item)
# 获取命令中的参数
item = options['delete']
5. 在命令行中执行该脚本文件,进入manage.py文件所在目录
python manage.py my_shell