如何在django中使用jobs扩展自定义命令

  介绍

如何在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模块

建立后的目录如下:

如何在django中使用jobs扩展自定义命令

<强> 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扩展自定义命令问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

如何在django中使用jobs扩展自定义命令