django项目中如何添加自定义的django command
项目目录
1.我们自己建立的application叫做app,首先在这个app目录下,我们需要新建management目录,这个目录里应该包括:__ init__.py(内容为空,用于打包)和commands目录,然后在commands目录下包括:__ init__.py和mycommand.py ,其中 mycommand.py就是用于我们自定义command的方法,目录的树状结构如下:

2. app下的mycommand.py的command内容书写,简单示例如下
from django.core.management.base import BaseCommandclass Command(BaseCommand):# handle()该方法必须实现def handle(self, *args, **options):print("这是app下面的mycommand命令")
我们把BaseCommand类关联进来,使用command类和handle方法来作为框架,如上,这个command实现的就是打印 “这是app下面的mycommand命令”.
通过以上 我们就可以使用python manage.py mycommand 的方式来运行我们自己的django命令了。
app2/management/commands下的文件名是:mycommand02.py
使用cron来定期执行django command
将django command我写了一个简单的shell脚本:
#!/usr/bin/env bashp=$PWD
touch $p/djangocron.cron
touch $p/djangocron.log
touch $p/djangocron02.log
echo "*/1 * * * * python3 $p/manage.py mycommand >> $p/djangocron.log 2>&1" >> djangocron.cron
echo "*/1 * * * * python3 $p/manage.py mycommand02 >> $p/djangocron02.log 2>&1" >> djangocron.cron
crontab djangocron.cron
crontab -l
解释一下:
这个脚本放在与manage.py同一目录下,以便p=$PWD获取能用的当前路径。
touch先建立一个djangocron.cron文件,用于存放crontab的命令,建立的djangocron.log和djangocron02.log用来存输日志信息。
*/1 * * * * python3 $p/manage.py mycommand >> $p/djangocron.log 2>&1
这一句写入djangocron.cron文件,就是cron的配置了 */1 * * * *这几个参数未改动的格式是 * * * * * 五个参数使用空格隔开分别表示 分钟 小时 天 月 周,我这里的配置就是每分钟执行后面的命令;
后面的命令 python $p/manage.py mycommand,$p是路径的引用,其实就是 python manage.py mycommad.
小箭头 >> $p/djangocron.log 2>&1的意思就是 将命令的输出结果追加到djangocron.log文件,2>&1的意思是同时将错误信息也存入djangocron.log文件。
crontab djangocron.cron的作用是将我们写的djangocron.cron文件在crontab中装载,装载后可以:
crontab -l #查看
crontab -e #修改
只要调整cron前面设置的时间参数,就可以测试自己的命令有没有成功执行,查看djangocron.log来查看输出和error。
参考文档
相关文章:
django项目中如何添加自定义的django command
项目目录 1.我们自己建立的application叫做app,首先在这个app目录下,我们需要新建management目录,这个目录里应该包括:__ init__.py(内容为空,用于打包)和commands目录,然后在comma…...
【算法基础】哈希表⭐⭐⭐
一、哈希表 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key),对任意…...
基于SpringMVC、Spring、MyBatis开发的校园点餐系统
文章目录 项目介绍主要功能截图:后台登录用户管理商品管理评论管理订单管理角色管理咨询管理前台前台首页我的订单商品详情支付方式选择支付成功页面部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题…...
LeetCode 热题 C++ 148. 排序链表 152. 乘积最大子数组 160. 相交链表
力扣148 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3&#x…...
JavaScript 基础【快速掌握知识点】
目录 为什么要学JavaScript? 什么是JavaScript 特点: 组成: JavaScript的基本结构 基本结构 内部引用 外部引用 console对象进行输出 JavaScript核心语法 1、变量声明 2、数据类型 3、运算符 4、条件语句 5、循环语句 6、数组 7…...
基于Frenet优化轨迹的⾃动驾驶动作规划⽅法
动作规划(Motion Control)在⾃动驾驶汽⻋规划模块的最底层,它负责根据当前配置和⽬标配置⽣成⼀序列的动作,本⽂介绍⼀种基于Frenet坐标系的优化轨迹动作规划⽅法,该⽅法在⾼速情况下的ACC辅助驾驶和⽆⼈驾驶都具有较强…...
Spring(入门)
1. 什么是spring,它能够做什么?2. 什么是控制反转(或依赖注入)3. AOP的关键概念4. 示例 4.1 创建工程4.2 pom文件4.3 spring配置文件4.4 示例代码 4.4.1 示例14.4.2 示例2 (abstract,parent示例)4.4.3 使用有参数构造方法创建jav…...
2023-02-25力扣每日一题
链接: https://leetcode.cn/problems/minimum-swaps-to-make-strings-equal/ 题意: 给定字符串s1,s2,仅由x,y组成 每次可以在两边各挑一个字符交换 求让s1等于s2的最小步骤 解: 1000啊1000,双指针贪一下就过了 …...
如何外网登录管理云通信短信网关平台?——快解析映射方案
云通信(Cloud Communications )是基于云计算商业模式应用的通信平台服务,简单易用,满足企业一键群发场景,支持多种语言SDK和API 接入。各个通信平台软件都集中在云端,且互通兼容,用户只要登录云通信平台,不…...
学习 Python 之 Pygame 开发魂斗罗(三)
学习 Python 之 Pygame 开发魂斗罗(三)继续编写魂斗罗1. 角色站立2. 角色移动3. 角色跳跃4. 角色下落继续编写魂斗罗 在上次的博客学习 Python 之 Pygame 开发魂斗罗(二)中,我们完成了角色的创建和更新,现…...
【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)
最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 分积木(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 吃火锅(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - RSA 加密算法(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 构成的正方形数量(2023.Q1) 【华为OD机试模拟…...
linux系统加exfat驱动
u盘假如是fat格式不支持大于4G文件,所以一般u盘用exfat格式,兼容性更好 有的老linux没支持exfat格式,那就自己装个驱动吧 sudo apt-get install exfat-fuse exfat-utils 有一台fedora27需要yum安装,国外源比较慢,改…...
3,预初始化(一)(大象无形9.2)
正如书中所说,预初始化流程由FEngineLoop::PreInit()所实现 主要处理流程 1,设置路径:当前程序路径,当前工作目录路径,游戏的工程路径 2,设置标准输出:设置GLog系统输出的设备,是输出到命令行…...
【PAT甲级题解记录】1013 Battle Over Cities (25 分)
【PAT甲级题解记录】1013 Battle Over Cities (25 分) 前言 Problem:1013 Battle Over Cities (25 分) Tags:DFS 连通图 Difficulty:剧情模式 想流点汗 想流点血 死而无憾 Address:1013 Battle Over Cities (25 分) 问题描述 给…...
CSS-关键帧动画
animation和transition的区别 相同点:都是随时间改变元素的属性值 不同点:transition需要触发一个时间(hover或者click事件)才会随时间改变其css属性;而animation在不需要触发任何事件的情况下也是可以显示的随时间变化来改变元素的css属性值,从而达到一种动画的效果,cs…...
Allegro如何画Photoplot_Outline操作指导
Allegro如何画Photoplot_Outline操作指导 在用Allegro进行PCB设计的时候,最后进行光绘输出前,Photoplot_Outline是必备一个图形,所有在Photoplot_Outline中的图形将被输出,Photoplot_Outline以外的图形都将不被输出。 如何绘制Photoplot_Outline,具体操作如下 点击Shape点…...
ChatGPT对于普通人有什么机会和影响?
ChatGPT爆火“出圈”,短短三个月里,势如破竹。 月活已经达到1亿,什么概念呢?Tiktok在海外达到1亿月活用了将近9个月时间,Instagram用了大约2年半,就连比尔盖茨都表示“Web3没那么重要,元宇宙没…...
【人工智能 AI】可以从 RPA 中受益的 10 个行业 10 Industries That Can Benefit From RPA
目录 RPA技术介绍 Which industries can use robotic process automation?哪些行业可以使用机器人过程自动化? Robotic process automation in the retail industry零售业中的机器人过程自动化 Robotic process automation in the construction industry建筑行业的机器人…...
PHP 程序如何实现加密解密?
PHP 中有很多加密和解密的函数可用,以下是一些常用的加密解密方式和函数:对称加密:对称加密是一种加密方式,使用同一个密钥加密和解密数据。PHP 中可用的对称加密算法包括 AES、DES、3DES 等。以下是一些常用的对称加密函数&#…...
使用IDEA社区版如何创建SpringBoot项目?
Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的。首先谈谈SpringBoot的优点:1.快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。 2.内置运⾏容器,⽆需配置 …...
OpenHTMLtoPDF终极指南:三步实现专业PDF文档生成
OpenHTMLtoPDF终极指南:三步实现专业PDF文档生成 【免费下载链接】openhtmltopdf An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/UA)…...
Python EXE逆向工程完全指南:使用python-exe-unpacker快速反编译打包程序
Python EXE逆向工程完全指南:使用python-exe-unpacker快速反编译打包程序 【免费下载链接】python-exe-unpacker A helper script for unpacking and decompiling EXEs compiled from python code. 项目地址: https://gitcode.com/gh_mirrors/py/python-exe-unpa…...
鸿蒙中的自由流转
鸿蒙自由流转是 HarmonyOS(鸿蒙系统) 实现多设备协同的核心能力之一,旨在打破设备边界,让应用和服务在不同终端间无缝流转,提升用户体验。什么是鸿蒙自由流转?鸿蒙自由流转是指用户在多个搭载 Harm…...
用LLM嵌入向量破解工业微缺陷检测的长尾难题
1. 项目概述:当大模型“看走眼”时,我们该怎么教它识别那些几乎看不见的异常?你有没有遇到过这样的情况:一个工业质检系统,对明显划痕、缺料、锈蚀这类“教科书式”缺陷识别率高达99%,可一旦面对0.3毫米宽的…...
2025-2026年护眼灯品牌推荐:十大评测专业排行防蓝光伤眼价格特点
摘要 当消费者对家庭光环境的认知从“照亮空间”跃迁至“健康护眼”,如何从纷繁复杂的市场中精准选择一盏真正经得起科学检验的护眼灯,已成为现代家庭决策者的核心焦虑。根据全球知名市场研究机构Grand View Research发布的报告,全球LED照明市…...
用户分享 + 消费排队福利模式合规落地指南:5 大实体行业通用方案
注:本文所有数据为单门店经营案例参考,不代表所有门店的经营收益,实际效果受多种因素影响一、多数社区门店的经营困境:营销预算有限,获客留客难度大不少社区夫妻店的经营者,都会遇到类似的经营难题…...
Agent 一接 MCP 大结果集就开始失忆:从 Result Summarization 到 Cursor Paging 的工程实战
一、MCP 一接大结果集,Agent 最先坏掉的不是推理,而是记忆 🧠 很多团队把 MCP 当成 Agent 的万能扩展层:只要把数据库、工单、代码检索、指标平台都挂进去,模型就能“边查边做”。真正上线后最先暴露的问题却很一致&am…...
Cadence SPB17.4 S032实战:用Room功能搞定多模块PCB的快速布局(附防闪退技巧)
Cadence SPB17.4 S032高效布局实战:Room功能在多模块PCB设计中的深度应用 面对包含80个子原理图的复杂PCB设计项目,传统的手工拖拽元件布局方式不仅效率低下,还容易因软件交互问题导致崩溃。Cadence Allegro的Room功能为解决这一痛点提供了系…...
用 ai 生成带货/电商短视频,有哪些工具比较好用?下面推荐几个
在 2026 年,短视频内容已成为驱动电商转化的核心引擎。然而,许多商家仍面临本土化适配难、制作周期长、精品成本高等痛点。本文将针对“怎么用 ai 生成带货视频,有哪些工具比较好用?”以及“AI 生成电商短视频的工具有哪些&#x…...
Java智能地址解析架构深度解析:构建高精度企业级地址识别系统
Java智能地址解析架构深度解析:构建高精度企业级地址识别系统 【免费下载链接】address-parse Java 版智能解析收货地址 项目地址: https://gitcode.com/gh_mirrors/addr/address-parse 面对海量非结构化地址数据的处理挑战,传统规则引擎已无法满…...
