当前位置: 首页 > 编程笔记 >

Django自定义manage命令实例代码

司空学智
2023-03-14
本文向大家介绍Django自定义manage命令实例代码,包括了Django自定义manage命令实例代码的使用技巧和注意事项,需要的朋友参考一下

manage.py是在我们创建Django项目的时候就自动生成在根目录下的一个命令行工具,它可以执行一些简单的命令,其功能是将Django project放到sys.path目录中,同时设置DJANGO_SETTINGS_MODULE环境变量为当前project的setting.py文件。

manage.py的代码是这样的:

#!/usr/bin/env python 
import os 
import sys 
 
if __name__ == "__main__": 
  os.environ.setdefault("DJANGO_SETTINGS_MODULE", "adl_lrs.settings") 
 
  from django.core.management import execute_from_command_line 
 
  execute_from_command_line(sys.argv)

excute_from_command_line()函数会根据命令行参数解析出命令的名称,根据命令名称调用相应的Command执行命令。Command位于各个管理模块的commands模块下面。
所以要自定义manage命令,只需要在app下management目录commands目录下建立目标文件。

需要注意的是,不是所有的.py文件都会被识别为命令的,需引用了BaseCommand的才能被正确识别,而且我们的命令类要继承于BaseCommand它才可以。

示例代码:

from django.core.management.base import BaseCommand,CommandError    
import datetime 
import pytz 
 
class Command(BaseCommand): 
  def handle(self, *args, **options): 
    now=datetime.datetime.now() 
    now=now.replace(hour=0).replace(minute=0).replace(second=0).replace(microsecond=0).replace(tzinfo=pytz.timezone('UTC')) 
    br1=datetime.datetime(2016,6,29) 
    br1=br1.replace(hour=0).replace(minute=0).replace(second=0).replace(microsecond=0).replace(tzinfo=pytz.timezone('UTC')) 
    br2=now 
    print br1,br2 

总结

以上就是本文关于Django自定义manage命令实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

 类似资料:
  • 问题内容: 我希望我的自定义Django命令每分钟执行一次。但是,似乎在目录下工作正常时似乎不起作用。 我该如何实现?我使用 问题答案: 堆栈溢出 产品展示 搜索… 登录 注册 家 上市 堆栈溢出 标签 用户数 工作 队伍 这是什么? 30天免费试用 Django自定义命令和cron 问问题 问 10年零5个月前 活跃 2年,1个月前 观看了 13k次 16 14 我希望我的自定义Django命令

  • 3.3 自定义命令 命令语法 定义命令与定义映射的用法其实很相似: :command {lhs} {rhs} 只不过在使用自定义命令时,{lhs} 是直接输入到命令行中的,当你按下回车时,vim 就将 {lhs} 替换为 {rhs} 再执行。所以这在形式上与下面这个映射等效: : nnoremap :{lhs}<CR> :{rhs}<CR> 当然,由于 :command 所支持的参数与 :ma

  • 问题内容: 我有一个名为“ example”的库,该库正在安装到我的全局site- packages目录中。但是,我希望能够安装两个版本,一个用于生产版本,一个用于测试版本(我有一个Web应用程序,而其他东西也都以这种方式进行了版本化)。 有没有一种方法可以指定,例如“ python setup.py stage”,它不仅可以将其他鸡蛋安装到站点程序包中,还可以将模块从“ example”重命名为

  • 假设我需要一个新的git命令gitnew,它生成一个新分支,该分支与origin/master是最新的。 是否有一种方法可以使此脚本在powershell的Windows上的所有存储库中都可用? 编辑:为了澄清我想要一个git脚本,而不是一个PowerShell函数。我提到PowerShell的唯一原因是因为我不使用git bash。

  • 应用服务启动可以在多个地方进行调整,以下介绍两种方案,Dockerfile 和 平台详情页调整 Dockerfile CMD启动方式 看一下简单的例子: FROM hub.kpaas.nsini.com/app/hello:v0.0.3 CMD ["/go/bin/hello"] 启动命令写在CMD这个后面,如果后面有多个参数可以以逗号隔开例如: CMD ["static-web", "-pa

  • 本文向大家介绍Springboot 自定义校验代码实例,包括了Springboot 自定义校验代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Springboot 自定义校验代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 StartWithValidation.class StartWithValidator.clas