从零开始的天天生鲜项目

------Django天天生鲜项目

day3 ** 记录点滴 ** 2021.10.22

LoginRequiredMixin()类的原理:

编写LoginRequiredMixin()类,重写里边as_view()类方法,作用是对父类as_view()进行一层封装(login_required())view对象。
view视图中,类如果要对用户是否登陆判断,只需要继承LoginRequiredMixin类和View类,它会先调用LoginRequiredMixin类中as_view(),然后再调用View中的as_view

类视图as_view()流程:

as_view()内部定义view(),view()函数对视图函数初始化,返回并调用dispatch()方法。
dispatch()根据请求类型不同,调用不同函数(get(),post()),然后将这些函数response响应结果返回。
as_view()返回这个view函数闭包,供给path()路由调用。

request.user

如果用户未登陆->AnonymousUser类的一个实例
如果用户登陆->User类的一个实例
request.user.is_authenticated
除了自己给模板传递变量之外,Django框架也会把request.user传递给模板文件

关于浏览记录:

选择Redis数据库——内存型的数据库
访问商品详情页的时候需要添加历史浏览记录
访问用户中心个人信息的时候需要获取历史浏览记录
添加历史记录使用list格式:
history_用户id:[3,2,1]
添加历史记录时,用户最新浏览的商品的id从列表左侧插入

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值