Flask项目 Day5

Flask项目 Day5

1.首页和详情页基类模版抽取,继承

公共的保留,不同的抽取 block占位

继承:{% extends ‘xxx’ %}
再填充block

2.新闻详情页的基本模版数据显示

复制相同逻辑代码,点击排行,获取登录信息

获取用户登录信息是总得需要,所以也可以抽取出来~用g变量保存用户信息

也可以用装饰器查询登录信息,查完后保存到

functools.wraps装饰器的说明

装饰器装饰函数的时候,默认会将函数名改为闭包的名字,很好理解。这样操作多个函数的时候函数名一样,如果里面定义相同名字变量值又不一样会引发冲突!

解决办法就是将装饰器内层函数用functools.wraps再装饰,这样变量名就是自己本身被装饰函数的变量名,没有改变

详情页数据显示

后台用模型查数据
登录可以评论,没登录提示登录

3.收藏逻辑的实现,多对多模型

展示实现:

后台添加iscollected为True 就是收藏 传给前端模版 前端做一些判断展现

完善逻辑

借用模型的多对多模型,还有关系
点击收藏,点击取消收藏都是ajax请求
对数据库的修改都应该是post

后台接口设计:

接收json 方式post
参数:新闻id method:收藏还是取消收藏
不需要传用户id(在cookie中可以取到)

get才可以取args

步骤:接收参数 校验参数
实际业务逻辑:查到新闻的模型,收藏

前端实现:

同样做个ajax请求

4.评论的实现

需求分析:

评论新闻或回复某条评论

后端实现:

接口设计:url ‘/news/news_comment’
传入json 参数:新闻id 评论内容 pid

模型上:评论与父评论,自关联,一对多

步骤:取到请求参数 校验参数 初始化评论模型 业务逻辑:操作模型

前端逻辑实现:

聚焦后端

查询评论后端实现,显示当前新闻评论数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值