Flask Day6
1.点赞前端逻辑
js实现:未登录先登录
请求参数 action comment_id
detail视图查询点赞情况,发送到前端 返回点了哪些赞?
列表放入用户对下面哪些评论点赞了
在查询评论的时候返回字典加一个属性,is_like查询一下当前用户是否点赞了评论
查出新闻模型 当前新闻news_id(条件) 所有的评论id
查询当前用户id(条件1)当前新闻里的评论id(条件2) 查出一个CommentLike列表
相当于一个子查询,第一条查出的结果是第二条的条件
查询点赞后端具体处理:用到列表推导式
comment_ids = [comment.id for comment in comments]
查出当前新闻的所有评论id
comment_likes = CommentLike.query.filter(CommentLike.comment_id.in_(comment_ids),CommentLike.user_id == g.user.id)
做子查询
comment_like_ids = [comment_like.comment_id for comment_like in comment_likes]
查询出当前用户当前新闻所有点赞的评论
然后再查询生成评论列表的时候,判断评论是否在点赞列表中,如果存在,就给评论列表里的字典新加的属性commentLike 为True 否则是False
点赞条数记录
后端计数:
不应该从前端取,应该是每次修改,数据库模型的计数都应该修改
2.创建个人中心模版,基类模版抽取
同首页详情页的抽取一样
再渲染模版
创建个人信息模块
后端实现:
未登录重定向到首页
个人资料修改:
基本资料:get获得页面,post发送数据修改数据库
2.2 上传头像的准备,七牛云的引入
个人中心的菜单切换都是切换到不同的ifarm
后台定义不同的路由 方法:get渲染模版 post修改数据
根据七牛云的接口pip install qiniu
封装一个上传图片的工具
access_key secret_key 存的时候是一个key 一个value
2.3上传头像后端代码实现
post表示修改头像 取到参数:图片文件 再调用七牛云的接口上传图片;七牛云的上传会返回一个key,记录这个key;保存七牛云的key到数据库:取到模型,g.user.avatar_url=key,将头像地址返回前端以便前端能实时更新头像
2.4 前端上传头像的实现
$(this).ajaxSubmit({}) 自动提交表单里参数
使用jquery的代码模拟点击提交操作
3.修改密码逻辑
后端接口:还是一样有get 有post方法
get渲染模版 post修改数据 post获取到参数:密码 新密码
4.用户的收藏的前后端逻辑实现
一对多,在用户的个人中心看收藏了哪些文章
获取参数 request.args.get(‘p’)
使用paginate分页
返回是模版渲染
为了分页显示
location.href = ''设置地址