首先需要注册腾讯云账号,创建短信签名、模板等。 创建签名时,在腾讯云短信签名时需要认证,认证需要填写签名类型:网站、APP、小程序、公众号,前三种需要提供企业资质等复杂的东西,个人公众号认证会比较便捷,所以推荐个人开发的话使用 公众号 进行签名。 so,咱们需要先 申请一个公众号 然后 创建签名 。
如何发送短信?
pip install qcloudsms_py
import ssl
from qcloudsms_py import SmsMultiSender, SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
def send_sms_single(phone_num, template_id, template_param_list):
单条发送短信
:param phone_num: 手机号
:param template_id: 腾讯云短信模板ID
:param template_param_list: 短信模板所需参数列表,例如:【验证码:{1},描述:{2}】,则传递参数 [888,666]按顺序去格式化模板
:return:
appid = 666666
appkey = "6666666666666666666"
sms_sign = "ChenihPython"
sender = SmsSingleSender(appid, appkey)
try:
response = sender.send_with_param(86, phone_num, template_id, template_param_list, sign=sms_sign)
except HTTPError as e:
response = {'result': 1000, 'errmsg': "网络异常发送失败"}
return response
def sms(request):
?tpl=login -> 对应模板ID
?tpl=register -> 对应模板ID
tpl = request.GET.get('tpl')
temlapte_id = settings.TENCENT_SMS_TEMPLATE.get(tpl)
if not temlapte_id:
return HttpResponse('模板不存在!')
code = random.randrange(1000, 9999)
res = send_sms_single('15399052423', temlapte_id, [code])
print(res)
if res['result'] == 0:
return HttpResponse('发送成功!')
else:
return HttpResponse(res['errmsg'])
腾讯云短信首先需要注册腾讯云账号,创建短信签名、模板等。 创建签名时,在腾讯云短信签名时需要认证,认证需要填写签名类型:网站、APP、小程序、公众号,前三种需要提供企业资质等复杂的东西,个人公众号认证会比较便捷,所以推荐个人开发的话使用 公众号 进行签名。 so,咱们需要先 申请一个公众号 然后 创建签名 。如何发送短信?# 1.安装SDKpip install qcloudsms_py# 2.基于SDK发送短信#!/usr/bin/env python# -*- coding:utf-8
由于项目在注册、登录、找回密码 时需要发送短信验证的功能,我们使用腾讯云短信做。
为什么要用腾讯云短信呢? 因为注册就送 100条免费短信 的额度。哈哈哈哈,发短信的功能你就不用花钱了。
1.注册腾讯云 & 开通云短信
注册一个腾讯云账户,腾讯云中提供了很多功能:云服务器、云存储你、云直播、云短信等很多功能。
注册地址:https://cloud.tencent.com/
根据提示一步步进行注册即可,例如:
创建模板(登录、注册等等)
创建一个应用(为了使用AppID、AppKey)
from qcloudsms_py import SmsMultiSender, SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
from django.conf import settings
import random
def send_sms_single(phone_num, template_id, templ
文章目录1 概念2 模版模版参数
...就是一个所谓的包,用于模版编程(template parameters)就是模版参数包(template parameters pack),用于函数参数(function paramter types)就是函数参数类型包(function paramater types pack)。
1,可变模版函数的示例代码:
打印变量:
//不定量模版参数
#include <iostream>
#include<bitset>
/* run
所谓模板模板参数,意思是模板的参数又是一个模板,例如:template<typename T, template<typename U> class Container>
class XCls
private:
Container<U> c;
public:
};其中,第一个模板参数是类型T,第二个参数是一个Container容器,它...
2. 连接到服务器,可以使用ssh或者其他远程工具进行连接。
3. 安装Python环境,可以使用yum或者apt-get命令进行安装,如:sudo apt-get install python3
4. 安装Django框架,可以使用pip命令进行安装,如:pip install Django
5. 配置Web服务器,如Nginx或者Apache。可以使用yum或者apt-get命令进行安装,如:sudo apt-get install nginx
6. 配置Django项目,修改settings.py文件中的ALLOWED_HOSTS和DATABASES等配置项以适应服务器环境。
7. 在Web服务器中配置反向代理,将请求转发到Django应用程序中。
8. 启动Web服务器和Django应用程序,访问服务器IP地址或者域名即可访问Django项目。
以上是部署Django项目到腾讯云服务器的基本步骤,具体操作可以根据实际情况进行调整。
所以新手使用celery很仔细的建立文件夹名字、文件夹层级、python文件名字。
所以网上的celery博客教程虽然很多,但是并不能学会使用,因为要运行起来需要以下6个方面都掌握好,博客文字很难表达清楚或者没有写全面以下6个方面。
celery消费任务不执行或者报错NotRegistered,与很多方面有关系,如果要别人排错,至少要发以下6方面的截图,因为与一下6点关系很大。
1)整个项目目录结构, 2)@task入参 ,3)celery的配置,4)celery的配置 include ,5)cmd命令行启动参数 --queues= 的值,6)用户在启动cmd命令行时候,用户所在的文件夹。
在不规范的文件夹路径下,使用celery难度很高,一般教程都没教。
[项目文件夹目录格式不规范下的celery使用演示](https://github.com/ydf0509/celery_demo) 。
此国产分布式函数调度框架 funboost python万能通用函数加速器 https://funboost.readthedocs.io/ ,
从用法调用难度,用户所需代码量,超高并发性能,qps控频精确程度,支持的中间件类型,任务控制方式,稳定程度等19个方面全方位超过celery。发布性能提高1000%,消费性能提高2000%