Django 自定义扩展命令

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='1') & 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)使用方式一样

转载于:https://www.cnblogs.com/huaizhi/p/8398819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值