import datetime
import logger
from django.conf import settings
from django.db.models import Q
from django.core.management.base import BaseCommand
from xxx.models import User
from xxx.tools import message_client MSEEAGE = u"Hello %s , Welcome to XXX." class Command(BaseCommand):
def handle(self, *args, **kwargs):
print args
print kwargs
send_level = args[0].split(',')
td = datetime.datetime.now()
td0 = datetime.datetime(dt.year, dt.month, dt.day)
reg_time = now_day_value + datetime.timedelta(days=-4)
query_condition = Q(active='') & Q(status='y') & Q(registe_time__gte=reg_time) & Q(level__in=send_level)
user_list = User.objects.filter(query_condition)
for u in user_list:
if u.phone:
try:
msg = MSEEAGE % u.name
message_client.send_message(phone_number=eachUser.phone_no, content=msg.encode("gbk"))
except Exception, e:
logger.error(e.message)
logger.error("failed send to %s" % str(u.phone))

比如我们的python 文件名是:batch_send_msg.py

那么我们调用的方法是:python manage.py batch_send_msg 1,2  ;

给等级为1和2的用户发送消息。

和Django 启动的命令(python manage.py runserver 0.0.0.0:8001)使用方式一样

Django 自定义扩展命令的更多相关文章

  1. Django扩展自定义manage命令

    使用django开发,对python manage.py ***命令模式肯定不会陌生.比较常用的有runserver,migrate... 本文讲述如何自定义扩展manage命令. 1.源码分析 ma ...

  2. django实现自定义manage命令的扩展

    在Django开发过程中我们都用过django-admin.py和manage.py命令. django-admin.py是一个命令行工具,可以执行一些管理任务,比如创建Django项目.而manag ...

  3. Django分析之如何自定义manage命令

    我们都用过Django的manage.py的命令,而manage.py是在我们创建Django项目的时候就自动生成在根目录下的一个命令行工具,它可以执行一些简单的命令,其功能是将Django proj ...

  4. 第六章:Django 综合篇 - 5:自定义django-admin命令

    我们可以通过manage.py编写和注册自定义的命令. 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本.比如,你有个需求,需 ...

  5. C#编程模式之扩展命令

    C#编程模式之扩展命令 前言 根据上一篇的命令模式和在工作中遇到的一些实际情况,有了本篇文章,时时都是学习的一个过程,会在这个过程中发现许多好的模式或者是一种开发方式,今天写出来的就是我工作中常用到的 ...

  6. python之路-----django 自定义cookie签名

    1.默认自定义cookie 在使用扩展签名时,会根据settings 配置中的  SIGNING_BACKEND 来运行加密方法,默认使用 django.core.signing.TimestampS ...

  7. 自定义django-admin命令

    我们可以通过manage.py编写和注册自定义的命令. 自定义的管理命令对于独立脚本非常有用,特别是那些使用Linux的crontab服务,或者Windows的调度任务执行的脚本.比如,你有个需求,需 ...

  8. 第一步 使用sencha touch cmd 4.0 创建项目、打包(加入全局变量、公用类、自定义扩展、资源文件)

    参考资料: http://www.cnblogs.com/qqloving/archive/2013/04/25/3043606.html http://www.admin10000.com/docu ...

  9. Django视图扩展类

    Django视图扩展类 扩展类必须配合GenericAPIView使用扩展类内部的方法,在调用序列化器时,都是使用get_serializer 需要自定义get.post等请求方法,内部实现调用扩展类 ...

随机推荐

  1. 一 shell编程

    好啦.从今天开始我们转入shell编程的行列.从鸟哥私房菜中,已经学到了一些shell编程的皮毛,这两个月打算系统的学习,学会,学熟练.加油吧 bash shell [root@localhost s ...

  2. [HTML知识体系]语义化标签概论

    1.什么是语义化 语义化(Semantic)在HTML5中被大量提起,就是语义化标签向浏览器和开发者展示了它所包裹内容的类型与意思,可是至今我看了好多代码,HTML5新增的语义化标签的使用率还是挺低的 ...

  3. window.onload中失效的问题

    在页面中,我们有时候想让页面加载的时候有多个JS事件,一般的时候我们会这样做 window.onload=function(){ alert("aaa"); } window.on ...

  4. Devops、CI\CD、Jenkins

    Devops DevOps对应用程序发布的影响 在很多企业中,应用程序发布是一项涉及多个团队.压力很大.风险很高的活动.然而在具备DevOps能力的组织中,应用程序发布的风险很低,原因如下 [2] : ...

  5. Vue学习笔记【28】——Vue路由(使用 children 属性实现路由嵌套)

    使用 children 属性实现路由嵌套   <div id="app">    <router-link to="/account"> ...

  6. 双11大考 POLARDB分钟级弹性让企业轻松扩展

    无处不在的脉冲计算 阿里有双11,中国有春运,高考后有分数出来的那天,歌迷心中有周杰伦演唱会门票在线开售之时....有人的地方就有江湖,有人的地方也有脉冲计算,这些热点事件背后都需要大量的计算资源给予 ...

  7. Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)

    主键的创建方式 1. create table stud( id int not null unique, name ) ); mysql> desc stud; +-------+------ ...

  8. php strrev()函数 语法

    php strrev()函数 语法 strrev()怎么用? php strrev()函数用于反转字符串,语法是strrev(string),返回已反转的字符串.大理石构件来图加工 作用:反转字符串 ...

  9. RBAC权限设计(一)

    序言 RBAC表结构 用户表 角色表 权限表 用户角色(关系)表 角色权限(关系)表 sql脚本 /* Navicat MySQL Data Transfer Source Server : 127. ...

  10. 【Linux】 Centos7 安装 mysql-8.0

    本文介绍使用rpm包安装mysql, 以 mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar 为例: 1.下载 MySQL下载地址:https://dev.mysql.c ...