0基础python教程 django的manage命令介绍

原创
10/14 17:10
阅读数 14

python中的django框架是必须要认识起来的,下面我们一起来了解一下manage命令。

django的manage命令介绍

>

>

>我们在迁移数据库时会执行两条命令

>

>python3 manage.py makemigrations

>

>python3 manage.py migrate

>

>那我们可不可以自定制一个命令呢?当然是可以的

## 2 如何django的manage命令

> 我们可以参考内置app:auth的createsuperuser命令

>

> 需要在app路径下新建management包

>

> 在management包下新建commands包

>

> 在commands包新建py文件

![image-20210428160501402](/Users/liuqingzheng/Library/Application%20Support/typora-user-images/image-20210428160501402.png)

## 3 操作步骤

```python

# 1 新建项目 django_manage,新建app,名叫app01

# 2 在app01下新建需要在app路径下新建management包

# 3 在management包下新建commands包

# 4 在commands包新建py文件

# 5 新建hello_world.py,内容如下

```

```python

from django.core.management.base import BaseCommand

class Command(BaseCommand):

    help = '''

    这是自定义helloworld命令帮助信息

    使用方式为

        关键字参数方案:

        python3 manage.py hello_world --name=lqz --age=19

        python3 manage.py hello_world --name=lqz --age=19

        位置参数方案:

        python3 manage.py hello_world lqz 19

    '''

        # 接收参数

    def add_arguments(self, parser):

        # 关键字参数方案

        parser.add_argument('--name',help='这里输入名字')

        parser.add_argument('--age',help='这里输入年龄')

        # 位置参数方案

        # parser.add_argument('name')

        # parser.add_argument('age')

 

        # 核心函数,具体的逻辑写在这

    def handle(self, *args, **options):

        # 1 取出带在命令行后的参数

        input_name=options['name']

        print(input_name)

        #2 让用户在控制台输入

        name = input('输入你的狗名字:')

        if name.startswith('sb'):

            raise Exception('名字不能以sb开头')

        else:

            self.stdout.write('hello world:%s' % name)

            # print('hello world:%s'%name)

```

>在控制台输入:即可使用

>

>python3 manage.py hello_world --name=lqz --age=19

## 4 初始化数据命令案例

```python

我们在上线上面的时候,需要初始化一些数据进数据库,现在我们来写这么一个命令

```

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部