验证码
- 防止机器注册,在前端完成
- 产生随机数据
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)