每日测验
"""
今日日考
1.img标签src属性可以指代的值有哪些,各有什么特点
2.pillow模块是干什么用的,主要的方法有哪些
3.简述登陆功能图片验证码相关逻辑
4.纯手撸能够生成五位数的随机验证码代码
"""
昨日内容回顾
-
模型表的创建
""" 1.用户表需要继承AbstractUser 2.自关联字段 eg:根评论和子评论 3.数据库设计字段优化 """
-
注册功能
""" 1.书写了一个注册需要的forms组件 规律:不同的功能代码应该接耦合单独存储 1.只有一个forms组件,那么可以直接创建一个py文件 2.有多个forms组件,你可以创建文件夹,内部根据功能的不同创建不同的py文件 2.利用forms组件渲染前端标签 1.我们不利用form表单提交而是用ajax提交 2.但是我们需要用到form标签来包含我们所有的获取用户数据的html代码 $('#form').serializeArray() 获取到form标签内所有用户普通键值对的数据 [{},{},{},{}] 3.手动渲染获取用户头像的标签 <label for="myfile">头像 {% load static %} <img src="{% static 'img/default.png' %}" id='myimg' alt="" width="100" style="margin-left: 10px"> </label> <input type="file" id="myfile" name="avatar" style="display: none" > 只要是label里面的内容点击都会跳转到for指定的标签上 4.如何实时展示用户头像 1.利用到了文件阅读器 2.change事件 3.onload等待加载完毕 5.一旦用户信息不合法如何精确的渲染提示信息 1.forms组件渲染的标签id值都有一个固定的特点 id_字段名 ps:如何获取id值呢 form.auto_id <label for="{ { form.auto_id }}">{ { form.label }}</label> 2.根据后端返回的字段以及字段对应的报错信息 自己手动拼接对应字段的id值 3.提示功能的完善 1.jQuery的链式操作 2.input获取焦点事件 """
-
登陆功能
""" 1.自己手动搭建获取用户用户名 密码 验证码前端标签代码 2.图片验证码如何自己完成 ps: img标签src属性后面可以写的内容 1.直接写网络图片地址 2.仅仅只是一个url后缀(自动朝该url发送get请求获取数据) 3.图片二进制数据 1.需要借助于pillow模块 Image,ImageDraw,ImageFont 2.需要借助于内存管理器io模块 BytesIo,StringIO 3.字体样式其实是受.ttf结尾的文件控制的 4.手动产生随机验证码(搜狗公司的笔试题) random模块 chr内置方法 在session中保存验证码 """
今日内容概要
- 登陆功能
- bbs首页搭建
- 导航条用户功能
- admin后台管理
- 首页文章展示
- 用户头像展示(media配置)
- 图片防盗链
- 个人站点页面搭建
- 侧边栏展示功能
- 标签
- 分类
- 日期
- 侧边栏筛选功能
- 将侧边栏制作成inclusion_tag
登陆功能
def login(request):
if request.method == 'POST':
back_dic = {
'code':1000,'msg':''}
username = request.POST.get('username')
password = request.POST.get('password')
code = request.POST.get('code')
# 1 先校验验证码是否正确 自己决定是否忽略 统一转大写或者小写再比较
if request.session.get('code').upper() == code.upper():
# 2 校验用户名和密码是否正确
user_obj = auth.authenticate(request,username=username,password=password)
if user_obj:
# 保存用户状态
auth.login(request,user_obj)
back_dic['url'] = '/home/'
else:
back_dic['code'] = 2000
back_dic['msg'] = '用户名或密码错误'
else:
back_dic['code'] = 3000
back_dic['msg'] =