注册
在django中,应用可以通过manage.py
注册自定义活动(own actions),注意这里是注册的主体是应用,这也是我踩坑的地方。
在django中你需要自定义命令的应用文件夹下面新建如下结构的文件夹<app>/management/commands
。
正确的目录结构如下
interview/
__init__.py
models.py
management/
commands/
custom_command.py
tests.py
views.py
编写自定义命令
实现最基础的自定义命令
custom_command.py
的要求只有一个,必须定义Command类,继承自BaseCommand或其子类。
from django.core.management import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options):
self.stdout.write('custom command done')
接受参数
from django.core.management import BaseCommand
class Command(BaseCommand):
def add_arguments(self, parser):
parser.add_argument('--str', type=str)
def handle(self, *args, **options):
str = options['path']
self.stdout.write('receive {}'.format(str))