首页 > 编程 > Python > 正文

Django自定义manage命令实例代码

2020-01-04 15:52:14
字体:
来源:转载
供稿:网友

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命令实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表