Django為項目中每一個應用下的management/commands目錄中名字沒有以下划線開始的Python模塊都注冊了一個manage.py命令,我們可以利用這點來自定制一個命令(比如運行該命令可清空數據庫什么的)
相應的文件目錄結構如下:
app01/ __init__.py models.py management/ __init__.py commands/ __init__.py _private.py#下划線開頭的不可以用作自定制命令的編寫文件 xxx.py#不以下划線開頭的就可以 tests.py views.py
如上圖所示,_private.py將不可以作為一個管理命令使用,而xxx.py則可以。我們想要自定制命令,需自己在指定app目錄下創建management包,management包內創建commands包,commands包內心間自己想要寫入自定制命令的文件即可。
xxx.py模塊想要寫自定制命令的話,必須定義一個Command類並繼承Basecommand或其子類。
from django.core.management.base import BaseCommand, CommandError from app01.models import Poll class Command(BaseCommand):#必須繼承 def handle(self, *args, **options):#必須實現的方法 ,該方法即自定義命令執行的內容 print("Hello World")
完成以上配置后,鍵入命令python manage.py xxx就可以執行打印Hello World的操作啦~