国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Django分析之如何自定義manage命令

2019-11-14 17:27:00
字體:
來源:轉載
供稿:網友

      我們都用過Django的manage.py的命令,而manage.py是在我們創建Django項目的時候就自動生成在根目錄下的一個命令行工具,它可以執行一些簡單的命令,其功能是將Django PRoject放到sys.path目錄中,同時設置DJANGO_SETTINGS_MODULE環境變量為當前project的setting.py文件。我們來看一下代碼:

#!/usr/bin/env pythonimport osimport sysif __name__ == "__main__":    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SNCRM.settings")    from django.core.management import execute_from_command_line    execute_from_command_line(sys.argv)

在這里腳本會根據execute_from_command_line()方法里傳入的命令來執行相應的結果。也就是說我們可以自己去編寫這個函數可以識別的命令,這樣就可以很大程度上的去拓展manage.py的功能了。

     那么我們該如何去寫這樣一個自定義的manage命令呢?

首先,我們要在apps模塊下建立名字為management的模塊,這樣Django才能自動發現我們的命令,這樣在我們新建立的management模塊中就可以建立我們需要的命令了,當然了,不是所有的py文件系統都會識別為命令的,只有引用了BaseCommand的才能被正確識別,而且我們的命令類要繼承于BaseCommand它才可以。下面就用代碼來演示一下:

#django command importfrom django.core.management.base import BaseCommandclass Command(BaseCommand):    def handle(self, *args, **options):          print 'hello, World !'

這是一個最基本的命令了,使用的時候我們只需要在manage.py后面輸入命令的文件名就可以了。

     當然,上面的例子是最簡單了例子,一般都是在對項目進行初始化的時候才會使用到這個功能,所以我們的腳本一般都會是對數據庫的操作,尤其是我們的項目使用了第三方的ORM框架的時候這個功能就顯得尤為重要了,因為Django的syncdb命令是不能初始化第三方的ORM的,只能是初始化Django自帶的ORM,所以我在使用SQLAlchemy這樣的其他ORM的時候就會常常用到這個功能,特此在這里記錄下來。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜梁县| 灌云县| 南川市| 通辽市| 嘉黎县| 玉山县| 长岛县| 吴旗县| 阿巴嘎旗| 江华| 文化| 天祝| 昂仁县| 延安市| 信阳市| 永修县| 济源市| 通州区| 射洪县| 上犹县| 鲁甸县| 凤城市| 会泽县| 邵东县| 芜湖县| 兰坪| 延吉市| 高邑县| 徐水县| 奉贤区| 比如县| 华宁县| 合川市| 东方市| 大余县| 定边县| 文成县| 龙海市| 佛山市| 疏勒县| 通渭县|