編寫自定義django-admin命令


  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的操作啦~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM