这一篇临时写的,作用是记录,还没有细化和整理,可能看起来比较乱,有时间了再整理优化
今天要基于Django写一个脚本,command实现比较容易,而且还能用到Django本身的ORM挺方便的,所以就决定用command, 一下午下来,脚本写完了,感觉也遇到了不少的坑,所以这里总结一下。
commands的创建
1、在app内创建一个management的python目录
2、在management目录里面创建commands的python文件夹
3、在commands文件夹下创建任意py文件
此时py文件名就是你的自定制命令,可以使用下面方式执行
python manage.py 命令名
command对于文件名没什么要求,但文件内部需要定义一个Command类并继承BaseCommand类或其子类
这样最基本的命令就写好了
调用直接用上面的python manage.py 命令名
调用就好
这都没啥讲的,我遇到的坑是加入参数,也就是add_argument() 的使用方法
首先下面是这个方法的参数列表
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
parser.add_argument(),里面的参数,如果有–,表示是可选参数,没有–的话,意味着是必选参数,在运行时必须输入,default是没有用的。
parser.add_argument(‘--date‘,
nargs=‘?‘,
default=‘all‘,
type=str,
required=False,
help=‘Select data date args please input week or all ‘
加--的同时,nargs的值也需要相应更改,否则也会报错,这点要注意下
可选参数用法,以上面的设置为例
python manage.py command111 --date=week
不能直接跟week,需要加个--date
原文:https://www.cnblogs.com/seasen/p/14886468.html