django启动脚本,django 自定义命令

  django启动脚本,django 自定义命令

  本文主要介绍了Django执行特定脚本的几种方法,并通过示例代码进行了详细介绍。对大家学习或者使用Django有一定的参考价值,有需要的朋友可以参考一下。

  00-1010前言Django Shell自定义命令Django扩展摘要

  

目录

 

  用Django写项目时,遇到需要处理数据库的临时问题,会考虑直接在项目环境中运行脚本,这样就可以直接使用定义好的模型和方法。

  下面介绍几种通过Django执行指定脚本的方法,让脚本直接在Django项目的环境下运行。

  

前言

 

  Django自己的shell其实加载了项目的各种环境变量,网上有很多描述。就像这样运行:

  python manage.py shell script.py

  很简单,缺点是不容易添加参数,如果喜欢写main,脚本运行起来也不容易。

  

Django Shell

 

  您还可以自定义一个简单的命令来实现所需的效果。下面是一个最近编写的示例,它可以支持指定脚本文件的执行,同时添加更多的脚本执行参数:

  @author:knktc

  @contact:me@knktc.com

  导入操作系统

  导入系统

  导入argparse

  从django.core.management.base导入base命令

  类命令(BaseCommand):

  help=“在当前项目环境中运行脚本”

  def add_arguments(self,parser):

  parser.add_argument(script ,type=str,nargs=argparse)。余数,

  help=脚本文件路径和参数)

  定义句柄(self,*args,**options):

  #获取参数

  args=options[script]

  script_path=args[0]

  #检查文件是否存在

  如果不是OS . path . is file(script _ path):

  self . stderr . write(f no this file :[{ script _ path }])

  系统退出(1)

  #设置参数

  sys _ argv=[script _ path]args[1:]

  sys.argv=sys_argv

  #运行

  用open(script_path, r )作为f:

  exec(f.read(),{__name__: __main__})

  只要把这段代码放到任何app的管理/命令目录下,命名为run_script.py之后,就可以一劳永逸地使用这个自定义命令了。

  之后,参考以下命令运行指定的脚本:

  python manage . py run _ script your _ script arg 1 arg 2-v arg 3

  

自定义Command

 

  另外,也可以通过django-extensions内置的runscript来实现。这个方法可以参考文档:https://Django-Extensions-zh.readthedocs.io/zh _ cn/latest/run script . html

  

Django extensions

 

  关于Django执行指定脚本的几种方法的这篇文章到此为止。关于Django执行指定脚本的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: