国产探花免费观看_亚洲丰满少妇自慰呻吟_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擴展自定義命令方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松阳县| 桂林市| 思南县| 文水县| 白山市| 穆棱市| 旬阳县| 荥经县| 舒城县| 佛教| 聂拉木县| 珲春市| 临城县| 图木舒克市| 浮梁县| 乐山市| 韩城市| 开远市| 车致| 阿图什市| 鹰潭市| 府谷县| 光泽县| 内丘县| 眉山市| 石阡县| 广河县| 隆昌县| 陵水| 张家港市| 犍为县| 星子县| 沂源县| 亳州市| 洛宁县| 淳安县| 武功县| 宜兰市| 锦州市| 竹山县| 仲巴县|