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

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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值