文章目录

  • 一、项目概览
  • 二、项目技术要点
  • 三、项目预览

我永远相信只要永不放弃,我们还是有机会的。最后,我们还是坚信一点,这世界上只要有梦想,只要不断努力,只要不断学习,不管你长得如何,不管是这样,还是那样,男人的长相往往和他的的才华成反比。今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。
------马云

本项目旨在使用Django、Vue和REST Framework等技术开发一个前后端分离的生鲜电商平台。

一、项目概览

在项目中需要使用和掌握的主要技术如下:

  • Vue+Django+REST Framework前后端分离技术
  • restful api开发
  • Django REST Framework的功能实现和核心源码分析
  • Sentry完成线上系统的错误日志的监控和告警
  • 第三方登录和支付宝支付的集成
  • 本地调试远程服务器代码技巧

项目的实现分为三部分:

  • vue前端项目
  • django rest framework系统实现前台功能
  • xadmin后台管理系统

二、项目技术要点

项目的技术重点是Django REST Framework,这是一个专注于Restful API开发的框架,最终熟悉Restful API开发流程,主要技术要点为:

  • 通用view实现rest api接口

    • ApiView方式实现api
    • GenericView方式实现api接口
    • Viewset和router方式实现api接口和url配置
    • django_filter、SearchFilter、OrderFilter、分页
    • 通用mixins
  • 权限和认证
    • Authentication用户认证设置
    • 动态设置permission、Authentication
    • Validators实现字段验证
  • 序列化和表单验证
    • Serializer
    • ModelSerializer
    • 动态设置serializer
  • 支付、登录和注册
    • json web token实现登录
    • 手机注册
    • 支付宝支付
    • 第三方登录
  • 进阶开发
    • djang rest framework部分核心源码解读
    • 文档自动化管理
    • django rest framework的缓存
    • Throttling对用户和ip进行限速

Vue的主要技术点包括API接口、Vue组件和Vue的项目组织结构分析,还涉及到以下知识点:

  1. Vue技术选型分析
  2. API后端接口数据填充到Vue组件模板
  3. Vue代码结构分析

对于Django,会提供进阶知识点,包括如下:

  • Django migrations原理
  • Django信号量
  • Django从请求到响应的完整过程
  • 独立使用Django的Model

除了这些技术点外,还会涉及到API开发过程中很多常见的问题,如:

  • 本地系统不能重现线上系统的bug
  • API接口出错不能及时发现或难找到错误栈
  • API文档管理问题
  • 大量的url配置造成url配置越来越多难以维护
  • 接口不及时去更新文档对方不知道如何去测试接口,但写文档会花费大量的时间去维护
  • 为了防止爬虫,可能需要针对api的访问频率进行限制,比如一分钟、一小时或者一天用户的访问频率限制问题
  • 某些页面将数据放入缓存,加速某些api的访问速度

会针对这些问题给出以下解决方案:

  1. 通过介绍pycharm的远程服务器代码调试技巧让大家不仅可以调试支付、第三方登录还可以调试远程服务器的代码来重现服务器上的bug;
  2. 通过docker搭建sentry来体验错误日志监控系统,让我们不仅可以得到线上的错误栈还能及时在发生系统错误时收到邮件通知;
  3. django rest framework的文档自动化管理以及url的注册管理功能会让我们省去写文档的时间;
  4. django rest framework的文档管理功能不仅可以让我们省去写文档的时间还能直接在文档里面测试接口、自动生成的js接口代码、shell测试代码和python测试代码;
  5. django rest framework提供的throttle来对api进行访问频率限制;
  6. 引入第三方框架来设置某些api的缓存。

本项目的技术前提是Python基础、Django基础、Vue基础和简单MySQL知识,如果未掌握基础的这些小伙伴需要提前预习哦。

三、项目预览

这里先给出一些项目的效果图,让大家先睹为快。
首页效果:

商品信息:

登录页:

注册页:

导航栏:

商品详情页:

结算页面:

支付页面:

订单详情页面:

接口文档页面:

来吧,伙伴们,让我们一起徜徉在项目开发的浩瀚海洋中吧。

Django+Vue开发生鲜电商平台之1.项目介绍相关推荐

  1. Django+Vue开发生鲜电商平台之2.开发环境搭建

    文章目录 一.PyCharm的安装和简单使用 二.MySQL和Navicat的安装和使用 三.Python的安装 四.虚拟环境的安装和配置 五.Vue开发环境搭建 一.PyCharm的安装和简单使用 ...

  2. Django+Vue开发生鲜电商平台之3.数据模型设计和资源导入

    文章目录 一.项目初始化 二.数据模型设计 1.用户数据模型设计 2.商品数据模型设计 3.交易数据模型设计 4.用户操作数据模型设计 三.xadmin后台管理系统的配置 四.数据迁移和数据导入 1. ...

  3. Django+Vue开发生鲜电商平台之11.首页、商品数量、缓存和限速功能开发

    文章目录 一.首页功能完善 1.轮播图实现 2.新品功能开发 3.商品系列分类展示功能 二.商品相关数量功能实现 1.商品点击数.收藏数功能实现 2.商品库存量和销量功能实现 三.DRF缓存设置 1. ...

  4. Django+Vue开发生鲜电商平台之10.购物车、订单管理和支付功能

    文章目录 一.购物车功能实现 1.加入购物车功能实现 2.修改购物车数量功能实现 3.和Vue结合实现购物车功能 二.订单功能实现 1.订单管理接口 2.Vue接入订单接口 三.支付宝支付接口完成 1 ...

  5. 电商平台后台管理系统项目介绍

    MIMO电商平台后台管理系统 项目简介 基于 Vue3 + Vite2 + Typescript 开发的电子商务平台,组件库使用 element plus: 数据为 mock 模拟,登录账号密码随意填 ...

  6. JAVA毕设项目社区生鲜电商平台(java+VUE+Mybatis+Maven+Mysql)

    JAVA毕设项目社区生鲜电商平台(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...

  7. Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

    Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台:   微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...

  8. Java生鲜电商平台-App系统架构开发与设计

    Java生鲜电商平台-App系统架构开发与设计 说明:阅读此文,你可以学习到以下的技术分享 1.Java生鲜电商平台-App架构设计经验谈:接口的设计 2.Java生鲜电商平台-App架构设计经验谈: ...

  9. java 团购开发_Java生鲜电商平台-团购模块设计与架构

    Java生鲜电商平台-团购模块设计与架构 说明:任何一个电商系统中,对于促销这块是必不可少的,毕竟这块是最吸引用户的,用户也是最爱的模块之一,理由很简单,便宜. 我的经验是无论是大的餐饮点还是小的餐饮 ...

最新文章

  1. 深入JDK源码,这里总有你不知道的知识点!
  2. lwip协议栈中超时定时器实现原理
  3. Delphi设置表格样式
  4. 动态规划矩阵连乘问题
  5. 如何禁掉partner determination逻辑
  6. redis——内存概述
  7. php layui table,Layui table组件相关介绍
  8. 河南洛阳计算机操作题,洛阳中招理化生实验操作考试、信息技术考试下月1日开考...
  9. 推荐的上海python培训班_燃烧的蔬菜推推推
  10. shell之提取头文件
  11. 怎么用计算机算弧度制,怎么设置计算器 把度数转化为弧度
  12. Linux中scp报 not a regular file错误解决方案
  13. YOLOX测试-VOC格式
  14. win10下硬盘安装ubuntu (完整版)
  15. 关于免费的seo网站推广方法有哪些?
  16. 树莓派4B无线鼠标延迟解决办法
  17. offer选择:创业公司 VS 大厂外包
  18. 示波器探头需要补偿校准的根本原因
  19. 董源烟岚重溪图——澄心堂纸本考证
  20. linux移植嵌入式系统,嵌入式系统学习——S3C2451之Linux移植步骤

热门文章

  1. 《python》002 网络爬虫 -0A 基础
  2. 【Python】批量修改照片日期和文件名
  3. CSS预处理器之Sass与Less
  4. 论文解读:K-BERT:Enabling Language Representation with Knowledge Graph(AAAI-20)
  5. busybox的编译使用及安装
  6. python英文版怎么改成中文版_Python中文(非英文字符)解决方法
  7. 有关AE2020中文版改为英文版的方法
  8. 《新财富》:泡沫难破 房价至少被高估二成
  9. 5大模块带你了解视频后台设计(含推荐策略)
  10. redis incr和incrBy的使用