Django框架项目-电商web(未前后分离)

项目:电商订购网站

所用到框架:

  • 语言:Python3.6.8 (Django==1.11.1)
  • 数据库: MySql、 redis
  • 任务队列(异步处理): celery
  • 分布式文件存储: FastDFS或者本地都行
  • 搜索引擎(商品检索): django-haystack 、whoosh
  • web服务器配置: Nginx+ uwsgi
  • 后台管理: django-admin

实现功能:用户模块,商品相关,购物车相关,订单相关

1. 需求分析

1.1 用户模块

  1. 注册页
  2. 注册时校验用户名是否已被注册。
  3. 完成用户信息的注册。
  4. 给用户的注册邮箱发送邮件,用户点击邮件中的激活链接完成用户账户的激活。----- celery +redis
  5. 登录页
  6. 实现用户的登录功能。
  7. 用户中心
  8. 用户中心信息页:显示登录用户的信息,包括用户名、电话和地址,同时页面下方显示出用户最近浏览的商品信息。
  9. 用户中心地址页:显示登录用户的默认收件地址,页面下方的表单可以新增用户的收货地址。
  10. 用户中心订单页:显示登录用户的订单信息。
  11. 其他
  12. 如果用户已经登录,页面顶部显示登录用户的信息。

1.2 商品相关

  1. 首页-----(静态)-----celery+nginx
  2. 动态指定首页轮播商品信息。
  3. 动态指定首页活动信息。
  4. 动态获取商品的种类信息并显示。
  5. 动态指定首页显示的每个种类的商品(包括图片商品和文字商品)。
  6. 点击某一个商品时跳转到商品的详情页面。
  7. 商品详情页
  8. 显示出某个商品的详情信息。
  9. 页面的左下方显示出该种类商品的2个新品信息。

3)商品列表页

  • 显示出某一个种类商品的列表数据,分页显示并支持按照默认、价格、和人气进行排序。
  • 页面的左下方显示出该种类商品的2个新品信息。

4)其他

  • 通过页面搜索框搜索商品信息。-------haystack引擎

1.3 购物车相关

  • 列表页和详情页将商品添加到购物车。
  • 用户登录后,首页,详情页,列表页显示登录用户购物车中商品的数目。
  • 购物车页面:对用户购物车中商品的操作。如选择某件商品,增加或减少购物车中商品的数目。

1.4 订单相关

  • 提交订单页面:显示用户准备购买的商品信息。
  • 点击提交订单完成订单的创建。
  • 用户中心订单页显示用户的订单信息。
  • 点击支付完成订单的支付。

2.性能优化

  1. 推荐将admin改成xadmin以便于插件开发
  2. 发送邮件等耗时操作使用了Celery任务队列,redis作为操作的中间件,以节约等待时间
  3. 记录登陆功能、购物车功能使用了redis缓存存储
  4. admin可以继承save_model方法,而xadmin没有,所以这里使用将关键数据和缓存数据进行比较,如果不相同就说明页面改变,则开启异步静态化页面
  5. 考虑到服务器的内存可能不够存储静态资源,所以采用了FDFS存储静态资源
  6. 将首页,详情页面,列表页等所有用户都能看到的界面在第一次访问之后静态化,以减少数据库的操作
  7. 搜索功能采用了haystack全文检索框架来使用whoosh搜索引擎,在搜索的时候使用jieba分词,能使得搜索更全面和准确
  8. 订单解决了并发问题

3.会遇到的困难

1.数据模型建立的时候可能会乱,需要提前想好,图片存储的位置,建议是存在一个统一的文件夹下再进行分类

2.详情页面中的图片的url,在存在于goods下的,所以需要对url进行修改,或者用偷懒的方法建一个goods文件夹再复制进去照片

3.celery的bug 一部分会来源于你的HOST,可能会被代理邮箱服务器认为是一个bad name 一部分来源于windows系统,建议有条件的直接使用Linux(天坑!!!)

4.没有前后端分离,需要修改的时候会感觉一团糟jq太多了

5. 使用了celery异步缓存首页文件,并且发现在windows上写文件默认的编码是gbk,所以在win10上部署的时候一定要encoding=‘utf-8‘

6. 支付宝沙箱环境支付不能注册,等有空解决 (天坑!!!)

7.不推荐在apps中放入你要的app,这样会使pycharm无法识别,代码提示问题严重

8.伪静态的时候会遇到很多bug,解决方法是直接去ng目录下寻找文件,可能没有显示,但是根文件已经存在,直接修改配置。

9.在web缩放的时候会出现格式乱的情况(天坑!!!)

4.成果图

首页 用户模块 商品详细 后台 邮件激活

5.源文件

链接:https://pan.baidu.com/s/1cEZ1Yink7yhdfZdvENbtlA
提取码:7h28

原文地址:https://www.cnblogs.com/SmartCat994/p/12306852.html

时间: 2024-11-08 14:09:51

Django框架项目-电商web(未前后分离)的相关文章

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 1.drf前期准备 1.django-rest-framework官方文档 https://www.django-rest-framework.org/ #直接百度找到的djangorestframework的官网是打不开的 2.安装依赖包 如图所示,django restframework的依赖模块,除了coreapi和django-guardian,已经在前面安装过了. 打开终端,执行安装命令

python下django框架项目生成的文件解释

目录MyDjangoProject下表示工程的全局配置,分别为setttings.py.urls.py和wsgi.py,1.其中setttings.py包括了系统的数据库配置.应用配置和其他配置,2.urls.py则表示web工程Url映射的配置.3.子目录student则是在该工程下创建的app,包含了models.py.tests.py和views.py等文件4.templates目录则为模板文件的目录5.manage.py是Django提供的一个管理工具,可以同步数据库等等

基于rabbitMQ 消息延时队列方案 模拟电商超时未支付订单处理场景

前言 传统处理超时订单 采取定时任务轮训数据库订单,并且批量处理.其弊端也是显而易见的:对服务器.数据库性会有很大的要求,并且当处理大量订单起来会很力不从心,而且实时性也不是特别好 当然传统的手法还可以再优化一下,即存入订单的时候就算出订单的过期时间插入数据库,设置定时任务查询数据库的时候就只需要查询过期了的订单,然后再做其他的业务操作 jdk延迟队列 DelayQueue 采取jdk自带的延迟队列能很好的优化传统的处理方案,但是该方案的弊.端也是非常致命的,所有的消息数据都是存于内存之中,一旦

以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)

第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售商品,买家可以自由地购物: 去中心化: 和淘宝或eBay不同,我们把所有的商业逻辑和核心数据都放在以太坊区块链上,这使 得它成为一个完全去中心化的应用.和淘宝这样中心化的电商平台相比,一个去中心化的P2P电商应用显然有其独特的价值--至少你不用担心被平台封账户了. IPFS: 在以太坊上存储用于商品

618购物节来袭,电商陪你浪浪浪

前言 购物节又要来啦!!(撒花撒花!)零食打折啦!!衣服打折了!!小伙伴们准备好买买买了吗!!!让我看看我还多少余额哈!(满心期待(* ̄︶ ̄)) (10秒后......) 好吧我还是写个电商小程序过过瘾好了.[冷漠脸] 咳咳,让我们进入正题.本人作为一个前端新手,终于完成了一个小项目--电商平台的开发--以此文记录一下我的开发历程,希望在自己总结的同时也能帮助到其他小伙伴.(大家一起加油啦~) 详细介绍 1.主页 话不多说先上动图 ???????????(!上错了上错了!图在下面在下面!!!看官

大数据拼精准可否触动电商个性营销神经?

近日之电商诸侯争霸,可谓火药味甚浓,更推进着产业前进步伐.古语有云:长袖善舞,多钱善贾,意指有所依靠,事情容易成功.随着大数据所爆发出的巨大潜力,在如今的互联网经济时代,玩电商的"有才有财"企业,正在用大数据思维与技术影响着企业业务决策和商业推广思路.可以预测的是,互联网平台大数据分析,正如利剑出鞘.铠甲上身,必将在未来为电商企业精准营销带来融合性影响. 数据支撑营销电商战线新阵法 在电商各类火爆的购物节背后,我们可否看到了基于互联网的电商企业,呈几何数增长的庞大数据量?面对数据量的快

Django框架目录索引

Django框架目录索引 自定义Web框架与jinja2模板 HTTP协议详细介绍 cookie和session Django框架 (一) 环境配置及简单使用 Django框架(二) MTV模型简介 Django框架(三) url反向解析与csrf-token设置 Django框架(四) Django之模板语法 Django框架(五) Django之模板继承 Django框架 (六) Django模型 Django框架(七) Django之ORM数据库操作 Django框架(八) Django之

引爆潮流技术 Vue+Django REST framework打造生鲜电商项目

引爆潮流技术Vue+Django REST framework打造生鲜电商项目 1.Django REST framework框架介绍 Django REST framework框架是一个功能强大且灵活的工具包,用于构建Web API,且Django Rest Framework 是 Django 依赖扩展 Restful Api 的框架,与Django的使用风格类似,它的官方网站是:https://www.django-rest-framework.org/ 2.设计API 我们先选择一个AP

分布式电商项目(02)--后台管理系统SSM框架整合

前言:上一篇博客讲了此次分布式电商项目后台管理系统的工程的搭建,这一篇就讲一下SSM框架的整合 1.整合思路 下面说到的配置文件都需要放到manager-web工程下,因为此工程为war工程,而其它的工程都只是一个jar包,具体如下图所示 1.1 DAO层 mybatis整合spring,通过spring管理SqlSessionFactory.mapper代理对象.需要mybatis和spring的整合包. 整合内容 对应工程 Pojo mangaer-pojo Mapper映射文件 manga