介绍
如何在django中使用管理。py扩展自定义命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强> # django管理。py扩展自定义命令强>
环境:, mac django1.10.3
在实际的项目开发过程中,我们可能要执行某脚本初始化数据库,可能要启动多个服务,比如启动芹菜、复述等。要是直接执行python兽疥癣。py芹菜/复述,那该多方便啊!,能把这些命令整合到django框架的管理。py中吗?
<强>示例——初始化数据强>
通过执行python管理。py initdata命令初始化数据,执行此命令后,调用某数据初始化脚本文件,进行数据初始化。
<强> 1。创建项目。强>
略
<强> 2。创建应用myapp,并配置settings.py 强>
设置。py
INSTALLED_APPS =, ( ,& # 39;django.contrib.admin& # 39; ,& # 39;django.contrib.auth& # 39; ,& # 39;django.contrib.contenttypes& # 39; ,& # 39;django.contrib.sessions& # 39; ,& # 39;django.contrib.messages& # 39; ,& # 39;django.contrib.staticfiles& # 39; ,& # 39;myapp # 39; )
<强> 3。在myapp下建management.commands模块强>
建立后的目录如下:
<强> 4。在命令下建initdata。py文件强>
# !/usr/bin/env python #,- *安康;编码:utf-8 - * - 得到django.core.management.base import BaseCommand CommandError import 操作系统 import 日志 import 子流程 时间=INTERPRETER “/usr/bin/python" class 命令(BaseCommand): ,def 处理(自我,,* args,, * *选项): if 才能;not  os.path.exists(翻译): ,,log.error (“Cannot  find INTERPRETER at path \“% s \“干净,%,翻译) dirs 才能=,os.path.join (os.path.dirname (__file__), & # 39; . ./. ./. . & # 39;), #,上上上级文件目录名 时间=processor 才能;dirs +,“/init/data.py" pargs 才能=,(翻译,,处理器) subprocess.Popen才能(pargs)
<强> 5。编写数据。py 强>
# !/usr/bin/env python #,- *安康;编码:utf-8 - * - if __name__ ==, & # 39; __main__ # 39;: ,print & # 39;好# 39;
<强> 6。执行python管理。py initdata 强>
关于如何在django中使用jobs扩展自定义命令问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。