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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。