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

首頁 > 編程 > Python > 正文

django manage.py擴展自定義命令方法

2020-02-15 21:32:22
字體:
來源:轉載
供稿:網友

# django manage.py擴展自定義命令

環境: mac django1.10.3

在實際的項目開發過程中,我們可能要執行某腳本初始化數據庫,可能要啟動多個服務,比如啟動celery,redis等。要是直接執行python mange.py celery/redis那該多方便啊!,能把這些命令整合到django框架的manage.py中嗎?

示例-初始化數據

通過執行python manage.py initdata命令初始化數據,執行此命令后,調用某數據初始化腳本文件,進行數據初始化。

1.創建項目 myproject

2.創建app myapp,并配置settings.py

settings.py

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp',]

3.在myapp下建management.commands模塊

建立后的目錄如下:

4.在commands下建initdata.py文件

#!/usr/bin/env python# -*- coding: utf-8 -*-from django.core.management.base import BaseCommand, CommandErrorimport osimport loggingimport subprocessINTERPRETER = "/usr/bin/python"class Command(BaseCommand): def handle(self, *args, **options):  if not os.path.exists(INTERPRETER):   log.error("Cannot find INTERPRETER at path /"%s/"." % INTERPRETER)  dirs = os.path.join(os.path.dirname(__file__), '../../..') # 上上上級文件目錄名  processor = dirs + "/init/data.py"  pargs = [INTERPRETER, processor]  subprocess.Popen(pargs)

5.編寫data.py

#!/usr/bin/env python# -*- coding: utf-8 -*-if __name__ == '__main__': print 'ok'

6.執行python manage.py initdata

以上這篇django manage.py擴展自定義命令方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日照市| 密山市| 台前县| 佛冈县| 盐池县| 临邑县| 八宿县| 武功县| 清涧县| 巢湖市| 三穗县| 饶阳县| 临邑县| 通道| 柳河县| 阿拉善左旗| 星子县| 商城县| 广宗县| 巴林左旗| 靖州| 邳州市| 日喀则市| 隆回县| 会泽县| 通道| 江孜县| 保定市| 开鲁县| 思茅市| 青川县| 民乐县| 临夏市| 和平区| 鄂温| 南岸区| 延边| 鲜城| 兴安盟| 卢龙县| 五寨县|