以下是我的代码,为什么它后端不支持redis
class SendSmsForm(forms.Form):
code = random.randrange(100000, 999999)
mobile = forms.CharField(label="手机号",
validators=[RegexValidator(r'^(1[3|4|5|6|7|8|9])\d{9}$', '手机号格式错误'), ])
def __init__(self, request, *args, **kwargs):
super().__init__(*args, **kwargs)
self.request = request
def clean_mobile(self):
"""手机号校验的勾子"""
mobile = self.cleaned_data['mobile']
# 判断短信模板是否有问题
tpl = self.request.GET.get('tpl')
template_id = settings.ALIYUN_SMS_TEMPLATE.get(tpl)
if not template_id:
raise ValidationError("短信模板错误")
# 校验数据库中是否已有手机号
exist = Username.objects.filter(mobile=mobile).exists()
if exist:
raise forms.ValidationError('手机号已存在')
# 发短信 & 写redis
code = random.randrange(100000, 999999)
send_sms_lingle(mobile, template_id, '{"code":"' + str(code) + '"}')
# 验证码写入redis
conn = get_redis_connection()
conn.set(mobile, code, ex=60)
return mobile
raise NotImplementedError("This backend does not support this feature")
NotImplementedError: This backend does not support this feature