自定义Django命令行指令

2022-06-19 17:52:34 浏览数 (1)

注册

在django中,应用可以通过manage.py注册自定义活动(own actions),注意这里是注册的主体是应用,这也是我踩坑的地方。

在django中你需要自定义命令的应用文件夹下面新建如下结构的文件夹<app>/management/commands

正确的目录结构如下

代码语言:javascript复制
interview/
    __init__.py
    models.py
    management/
        commands/
            custom_command.py
    tests.py
    views.py

编写自定义命令

实现最基础的自定义命令

custom_command.py的要求只有一个,必须定义Command类,继承自BaseCommand或其子类。

代码语言:javascript复制
from django.core.management import BaseCommand


class Command(BaseCommand):
    def handle(self, *args, **options):
        self.stdout.write('custom command done')

接受参数

代码语言:javascript复制
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))

参考资料

Django文档

0 人点赞