Django 自定义扩展命令
2024-09-02 06:16:44
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)使用方式一样
最新文章
- 【MVVM Light】Messager的使用
- zend studio面板功能
- 背水一战 Windows 10 (28) - 控件(文本类): TextBox, PasswordBox
- nginx做反向代理并防盗链
- js中数组Array的一些常用方法总结
- 37. Sudoku Solver
- mysql排序,可以对统计的数据进行排序
- python split()黑魔法
- C#线程 访问资源同步简介
- android JNI (二) 第一个 android工程
- JQuery+CSS3实现封装弹出登录框效果
- 使用Dreamweaver格式化HTML代码
- Order笔记-项目导入
- 开放windows服务器端口-----以打开端口8080为例
- JAVA取数两个数组交集,考虑重复和不重复元素
- 02 . 处理axios的三个问题 :设置基路径/axios挂载到vue原型/请求时自动携带token
- JVM之垃圾回收
- 103. Binary Tree Zigzag Level Order Traversal (Tree, Queue; BFS)
- Femtocell家庭基站通信截获、伪造任意短信漏洞
- elasticsearch(三) 之 elasticsearch目录介绍和配置文件详解