django manage.py 擴展

在django中會常常敲python manage.py runserver 這個命令,其中manage.py 這個文件會常常用到,本次寫一下manage.py 怎麼擴展,以擴展初始化數據庫表host爲例html

如一個Host model python

class Host(model.Model):
     屬性:id, ip, hostname。。。等

一種狀況是每次運行都須要初始化數據庫,以後手動去添加數據到數據庫中,感受很麻煩,有沒有一個命令敲一下就能夠了呢,查了資料發現是有的數據庫

參考幫助文檔:custom-management-commands.html(django 文檔下載的html頁面)django

或者: https://docs.djangoproject.com/en/1.8/howto/custom-management-commands/app

在app 下面新建目錄management/commands 在commands文件夾下面寫 python 類 ,須要繼承 BaseCommand 將上面連接中的 內容修改一下命令行

from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):
    help = 'Closes the specified poll for voting'

    def add_arguments(self, parser):
        parser.add_argument('poll_id', nargs='+', type=int)

    def handle(self, *args, **options):
        for poll_id in options['poll_id']:
            print ("args=", args)
            self.stdout.write(self.style.SUCCESS('Successfully closed poll "%s"' % poll_id))

cmd 命令行中執行code

python manage.py test 1

相關文章
相關標籤/搜索