03. 注册功能

验证码

  • 防止机器注册,在前端完成
  • 产生随机数据
Math.ceil(Math.random() * 10); // 0 - 10之间的整数

表单提交

layui框架提供了lay-filter="*"lay-submit等属性来提交表单,用户需要给出正确的action名,并编写对应的视图处理函数
mods中的index.js文件实现了提交处理属性fly,视图处理函数需要按照指定参数编写

return $.ajax({
        type: options.type || 'post',
        dataType: options.dataType || 'json',
        data: data,
        url: url,
        success: function(res){
          if(res.status === 0) {
            success && success(res);
          } else {
            layer.msg(res.msg || res.code, {shift: 6});
            options.error && options.error();
          }
        }, error: function(e){
          layer.msg('请求异常,请重试', {shift: 6});
          options.error && options.error(e);
        }
      });
    content = {
        'status': 0,
        'action': '/user/login/',
    }
    ret = JsonResponse(content)
    return HttpResponse(ret)

获得当前时间

models.DateTimeField(auto_now=True)
设置为true时,能够在保存该字段为当前时间,并且每次修改model,都会自动更新。适合存储“最后修改时间”的场景。
models.DateTimeField(auto_now_add=True)
设置为True时,会在model对象第一次被创建时,将字段的值设置为创建时的时间,以后修改对象时,字段的值不会再更新。适合存储“创建时间”的场景下。

信息加密(MD5)

import hashlib

# 待加密信息
str = 'zhang3'

# 设置字符编码
ustr= str.encode(encoding='utf-8')

# 创建md5对象
m = hashlib.md5(ustr)

# 加密字符串
str_md5 = m.hexdigest()

print('MD5加密前为:' + str)
print('MD5加密后为:' + str_md5)

邮箱激活

你可能感兴趣的:(03. 注册功能)