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

系列文章目录

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

项目资源下载

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

文章目录

前言

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

一、用户中心模块

1.1 父模板页抽象

  1. 创建一些基础html模板
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 写不同的块继承下去
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  3. 分别继承基础模板,继承样式
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

; 1.2 用户中心页面显示

  1. 分别继承基础模板,继承样式,用父模板改造
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 定义三个视图函数,返回相应的模板文件
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  3. 在应用的urls.py中先导入相应模块
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  4. 然后还在这里配置url路由匹配(因为user页面已经在项目的urls.py中匹配过,所以在这里不用再匹配)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  5. 然后修改继承过后的个人中心模板,显示相应内容,然后跳转
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  6. 效果展示
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

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

  1. 导入装饰器库
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 给相应视图函数导入装饰器
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  3. 配置跳转地址
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  4. 在登陆界面不用设置表单action
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  5. 在视图函数中配置跳转的地址
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

; 1.4 LoginRequiredMixin类的使用

  1. 首先新建python文件目录
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 在这个目录中创建mixin.py文件,导入装饰器库,并新建类,调用父类的as_view,最终返回这个装饰器
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  3. 然后在三个视图函数中分别都继承这个类,首先要导入这个模块
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  4. 配置urls.py,不再使用之前的装饰器,然后完成
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

1.5 登陆后显示欢迎信息

  1. 用django内置函数进行判断,修改class显示登录欢迎界面
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 完成
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

; 1.6 退出用户登录

  1. 首先定义视图函数,退出登录,清除用户的session信息,跳转到登录界面,并且要导入logout库
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 在urls.py中配置url路由
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  3. 在html界面中,增加退出地址,并且使用url反向解析,设置登录、注册等跳转地址
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

1.7 地址页设计

  1. 首先将地址页的html修改一下,给一个名字,便于接收值,并把表单设置为post请求
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 修改用户中心地址页视图函数,get请求函数先不写,先写post请求函数,刚才设置了表单的请求方式,我们在这里要获取到用户地址,保存到数据库中
    ①:首先要接收数据
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ②:然后校验数据
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ③:这时进行业务处理:地址添加,如果用户已存在默认收货地址,添加的地址不作为默认收货地址,我们首先要获取登录用户对应的User对象,并且判断是否存在默认收货地址
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ④:然后添加地址
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ⑤:最后返回应答,刷新地址页面
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ⑥:接下来就要修改get函数,因为这个时候我们已经添加进去了用户地址数据,首先要获取登录用户的对应User对象
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ⑦:然后和刚才一样,获取用户的默认收货地址,判断是否存在默认收货地址
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ⑧:最后使用模板,将获取到的数据传到html中,给用户以反馈
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ⑨:最后一步,修改html模板,接收数据
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    ⑩:效果展示
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

; 1.8 模型管理类方法封装

  1. 首先在模型类中定义一个地址模型管理器类
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 然后再原有的地址模型类中,自定义一个模型管理类对象
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  3. 在刚刚定义的地址模型管理器类中封装获取用户的默认收货地址函数
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  4. 在视图函数中地址的显示函数中,注释掉原来的获取用户地址的方法,直接使用封装的方法
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  5. 在视图函数中地址的添加函数中,注释掉原来的获取用户地址的方法,直接使用封装的方法
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

1.9 用户中心-个人信息页

  1. 首先在用户中心的信息页的视图函数中,获取用户的个人信息,然后传给html模板
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 然后修改模板接收数据
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

; 1.10 历史记录存储格式设计

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

1.11 获取用户历史浏览记录

  1. 修改用户中心-信息页视图函数
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  2. 修改模板文件
    用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

; 总结

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

Original: https://blog.csdn.net/IronmanJay/article/details/122737874
Author: IronmanJay
Title: 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/733975/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 分析波士顿房屋数据-Pyhon数据分析入门

    导入依赖的库 !pip install pandas==0.25.0 !pip install matplotlib==3.1.0 !pip install seaborn==0….

    Python 2023年8月8日
    076
  • go语言,方法,接口,异常处理

    go语言· 1,方法 2,接口 //方法 其实方法就是一个函数 /* 基础知识: 1.方法:对象绑定方法,类绑定方法 特点:就是可以自动传值 2,在Python中,写在类当中,没有…

    Python 2023年6月12日
    074
  • 以社工库为例的简单web前后端分离项目搭建

    所谓的社工库可能是最简单的web项目了,没有登录、注册、权限等逻辑,当然这里只是最简单的那种。今天拿这个为例聊下前后端分离项目的结构。 下面是Github上搜到的 别人开源社工库项…

    Python 2023年8月14日
    071
  • Github基于令牌身份验证配置及使用

    1、前言 2、配置 3、使用 1、前言 从2021年8月31日起,Github不再支持通过密码进行身份验证,将要求使用基于令牌(token)的身份验证。 2、配置 第一步:进入GI…

    Python 2023年6月11日
    076
  • 朴素贝叶斯算法的实现与推理

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 弹尽粮绝,会员救园:…

    Python 2023年10月26日
    028
  • Anaconda安装之后Spyder打不开解决办法

    小白一个,搜索了大半天,还重装了两次,快被折磨疯了,终于探索出解决之道了。 分享出来,希望后来者少走一些弯路,不要在安装上费这么大劲。如果你遇到了跟我一样的问题,希望可以帮到你 问…

    Python 2023年6月9日
    055
  • excel数据处理二:快速完成openpyxl数据的新增、修改!

    接着上一章的内容继续来说,上一章内容说完了关于openpyxl对数据的提取、筛选等数据的查询的遍历操作。这一章将主要看看怎样在excel文件中新增以及修改数据,如果没有看过前一章的…

    Python 2023年5月24日
    0112
  • Web接收实时视频流并显示(flask创建路由接收)| 解决延时不同步问题

    在开发B/S架构的检测算法时,需要对摄像头实时视频流进行检测处理。下文代码能实现接收实时视频流到web端指定路由下进行播放。在后续开发中可继续将该路由视频流引入到相应的前端Html…

    Python 2023年8月11日
    063
  • Django简略开发流程

    1.新建Django项目 Location中最后为Django项目名称,选择虚拟环境 ; 2.项目目录结构 下图为我新建项目的目录结构,其中discipline_inspectio…

    Python 2023年8月5日
    053
  • 数据预处理(考试版1)

    数据预处理的主要任务数据清理填充缺失值,识别/去除离群点,光滑噪音,并纠正数据中的不一致数据集成多个数据库,数据立方体或文件的集成数据归约得到数据的归约表示,它小得多,但产生相同或…

    Python 2023年8月8日
    159
  • django 4.0 框架之ORM

    ORM (object relation mapping) 对象关系映射 简称:ORM,O/RM,O/R Mapping 1.特征:1、数据表 到 类(class)的映射将数据表 …

    Python 2023年8月5日
    044
  • Scrapy–Pyppeteer爬取加密网站01

    文章目录 1.网站检查: 2.项目实施: * 2.1 Scrapy项目创建: 2.2 项目准备: 2.3 项目流程: Pyppeteer的安装: pip install pyppe…

    Python 2023年10月4日
    054
  • 【Pandas】Pandas数据分析题

    数据集下载 Pandas数据分析题 Chipotle快餐数据 数据的过滤和排序(探索2012欧洲杯数据) 探索酒类消费数据 探索1960 – 2014 美国犯罪数据 合…

    Python 2023年8月24日
    0103
  • c站top1全栈接口测试教程 postman接口测试 接口自动化测试全套教程

    本文适合已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作,文章末尾也搭配了相应的视频教程,如果喜欢的同学呢可…

    Python 2023年9月26日
    057
  • Unity架构之详解域重新加载和场景重新加载

    一、unity进入运行模式包括以下主要阶段 备份当前场景:这仅在场景被修改后发生。这样当退出运行模式时,Unity 将场景恢复为运行模式开始前的状态。 Domain Reload:…

    Python 2023年9月29日
    030
  • pandas -表的横向合并 纵向合并

    《Merge, join, and concatenate》笔记 PS默认情况下,所有合并函数生成文件的方式均是新生成,即不修改原DF/Series数据。 常用 merge() 来…

    Python 2023年8月8日
    071
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球