失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

时间:2023-01-27 01:49:22

相关推荐

用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

系列文章目录

需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)用户注册模块——基于Django框架的天天生鲜电商网站项目系列博客(三)用户登录模块——基于Django框架的天天生鲜电商网站项目系列博客(四)用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六)首页——基于Django框架的天天生鲜电商网站项目系列博客(七)详情页——基于Django框架的天天生鲜电商网站项目系列博客(八)列表页——基于Django框架的天天生鲜电商网站项目系列博客(九)商品搜索——基于Django框架的天天生鲜电商网站项目系列博客(十)购物车记录添加——基于Django框架的天天生鲜电商网站项目系列博客(十一)购物车记录更新——基于Django框架的天天生鲜电商网站项目系列博客(十二)订单生成——基于Django框架的天天生鲜电商网站项目系列博客(十三)订单并发处理——基于Django框架的天天生鲜电商网站项目系列博客(十四)订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)网站部署——基于Django框架的天天生鲜电商网站项目系列博客(十六)项目总结——基于Django框架的天天生鲜电商网站项目系列博客(十七)

项目资源下载

天天生鲜电商网站项目源码Github地址(可Fork可Clone)天天生鲜电商网站项目源码Gitee地址(可Fork可Clone)天天生鲜电商网站项目源码压缩包下载(直接使用)天天生鲜电商网站项目所需全部工具合集打包下载(nginx、libfastcommon、fastdfs-nginx、fastdfs)天天生鲜电商网站项目MySql数据库文件(直接导入MySql数据库)Django1.8官方文档(中文版)

文章目录

系列文章目录项目资源下载前言一、用户中心模块1.1 父模板页抽象1.2 用户中心页面显示1.3 登录装饰器和登录后页面跳转1.4 LoginRequiredMixin类的使用1.5 登陆后显示欢迎信息1.6 退出用户登录1.7 地址页设计1.8 模型管理类方法封装1.9 用户中心-个人信息页1.10 历史记录存储格式设计1.11 获取用户历史浏览记录总结

前言

上一篇博文已经将用户登录与注册功能完善好了,今天我们将完成有关用户功能的最后一个内容,就是用户中心功能,其中包括用户的浏览记录以及购物车等一系列功能,当然既然是电商网站,一定有付款功能,付款功能比较复杂,今天我们先完善框架,后面单独出一篇博客完成付款功能。那么,就开始今天的学习吧!


一、用户中心模块

1.1 父模板页抽象

创建一些基础html模板

写不同的块继承下去

分别继承基础模板,继承样式

1.2 用户中心页面显示

分别继承基础模板,继承样式,用父模板改造

定义三个视图函数,返回相应的模板文件

在应用的urls.py中先导入相应模块

然后还在这里配置url路由匹配(因为user页面已经在项目的urls.py中匹配过,所以在这里不用再匹配)

然后修改继承过后的个人中心模板,显示相应内容,然后跳转

效果展示

1.3 登录装饰器和登录后页面跳转

导入装饰器库

给相应视图函数导入装饰器

配置跳转地址

在登陆界面不用设置表单action

在视图函数中配置跳转的地址

1.4 LoginRequiredMixin类的使用

首先新建python文件目录

在这个目录中创建mixin.py文件,导入装饰器库,并新建类,调用父类的as_view,最终返回这个装饰器

然后在三个视图函数中分别都继承这个类,首先要导入这个模块

配置urls.py,不再使用之前的装饰器,然后完成

1.5 登陆后显示欢迎信息

用django内置函数进行判断,修改class显示登录欢迎界面

完成

1.6 退出用户登录

首先定义视图函数,退出登录,清除用户的session信息,跳转到登录界面,并且要导入logout库

在urls.py中配置url路由

在html界面中,增加退出地址,并且使用url反向解析,设置登录、注册等跳转地址

1.7 地址页设计

首先将地址页的html修改一下,给一个名字,便于接收值,并把表单设置为post请求

修改用户中心地址页视图函数,get请求函数先不写,先写post请求函数,刚才设置了表单的请求方式,我们在这里要获取到用户地址,保存到数据库中

①:首先要接收数据

②:然后校验数据

③:这时进行业务处理:地址添加,如果用户已存在默认收货地址,添加的地址不作为默认收货地址,我们首先要获取登录用户对应的User对象,并且判断是否存在默认收货地址

④:然后添加地址

⑤:最后返回应答,刷新地址页面

⑥:接下来就要修改get函数,因为这个时候我们已经添加进去了用户地址数据,首先要获取登录用户的对应User对象

⑦:然后和刚才一样,获取用户的默认收货地址,判断是否存在默认收货地址

⑧:最后使用模板,将获取到的数据传到html中,给用户以反馈

⑨:最后一步,修改html模板,接收数据

⑩:效果展示

1.8 模型管理类方法封装

首先在模型类中定义一个地址模型管理器类

然后再原有的地址模型类中,自定义一个模型管理类对象

在刚刚定义的地址模型管理器类中封装获取用户的默认收货地址函数

在视图函数中地址的显示函数中,注释掉原来的获取用户地址的方法,直接使用封装的方法

在视图函数中地址的添加函数中,注释掉原来的获取用户地址的方法,直接使用封装的方法

1.9 用户中心-个人信息页

首先在用户中心的信息页的视图函数中,获取用户的个人信息,然后传给html模板

然后修改模板接收数据

1.10 历史记录存储格式设计

1.11 获取用户历史浏览记录

修改用户中心-信息页视图函数

修改模板文件


总结

在这篇博文中,我们已经基本完成了用户相关功能,下面就要完成有关购物信息的功能了,既然是电商网站,我们首先肯定需要把商品的图片和其他相关信息传递到网站首页,那么下篇文章就会给大家带来有关分布式FastDFS文件系统的相关部署与使用!

如果觉得《用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。