当前位置: 首页 > news >正文

python线上商城网站项目前台和后台源码

wx供重浩:创享日记
对话框发送:python51
获取完整源码源文件+说明文档+配置教程等


在这里插入图片描述

1、网站前台
在虚拟环境中启动程序后,使用浏览器访问“http://127.0.0.1:5000”即可进入网站前台首页。如图1所示。

在这里插入图片描述

单击首页左上角“注册”按钮,进入注册页面,如图2所示。注册完成后,进入登录页面,如图3所示。

在这里插入图片描述
登录成功后,可以在首页选择商品,也可以通过顶部导航栏分类选择商品。选择商品时,可以将鼠标悬浮到商品图片处,此时会在图片右下角显示一个购物车按钮,如图4所示,单击购物车按钮,将商品加入购物车,如图6所示。

在这里插入图片描述
另外,还有一种添加商品到购物车的方法,即可以单击商品图片,进入到商品详情页,如图5所示。

在这里插入图片描述
在商品详情页,可以更改商品数量(默认为1),然后单击“添加到购物车”按钮,即可进入购物车页面,如图6所示。

在这里插入图片描述
在购物页面,需要填写物流信息,也可以清空购物车。单击“结账”按钮,即可进入支付宝扫码支付页面,如图7所示。

在这里插入图片描述
本项目为本地项目,不包含线上支付功能,单击“支付”按钮,则默认用户已经支付成功。单击网站右上方的 “我的订单”,可以查看用户订单,如图8所示。

在这里插入图片描述
此外,用户还可以在顶部搜索栏根据商品名称模糊查询商品,如图9所示。搜索结果如图10所示。

在这里插入图片描述

在这里插入图片描述

2、网站后台
后台管理账号: mr
后台管理员密码:mrsoft
在浏览器中输入网址”http://127.0.0.1:5000/admin/login/” 即可访问网站后台登录页。如图11所示。

在这里插入图片描述
登录成功后,进入后台首页,运行效果如图12所示。

在这里插入图片描述
单击顶部菜单的“大分类管理”和“小分类管理”,可以管理大分类和小分类。例如,“图书—>管理”和“图书—>小说”中,图书就是大分类,管理和小说都是该大分类下的小分类。图13和图14分别为大分类管理和小分类管理页面。

在这里插入图片描述
在这里插入图片描述
添加商品前,需要选择对应的大分类和小分类。此外,在添加图片文件时,需要添加商品的图片路径。现将图片拷贝到“app\static\images\goods”路径下,如图15所示。

在这里插入图片描述
然后,在添加商品表单的“图片文件”处填写图片的名称,如图16所示。

在这里插入图片描述
当单击右侧菜单栏时,会显示对应的页面,菜单如图17所示。

在这里插入图片描述

部分源码如下,其余完整详见下载。

# 会员数据模型
class User(db.Model):__tablename__ = "user"id = db.Column(db.Integer, primary_key=True)  # 编号username = db.Column(db.String(100)) # 用户名password = db.Column(db.String(100))  # 密码email = db.Column(db.String(100), unique=True)  # 邮箱phone = db.Column(db.String(11), unique=True)  # 手机号consumption = db.Column(db.DECIMAL(10, 2), default=0)  # 消费额addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 注册时间orders = db.relationship('Orders', backref='user')  # 订单外键关系关联def __repr__(self):return '<User %r>' % self.namedef check_password(self, password):"""检测密码是否正确:param password: 密码:return: 返回布尔值"""from werkzeug.security import check_password_hashreturn check_password_hash(self.password, password)# 管理员
class Admin(db.Model):__tablename__ = "admin"id = db.Column(db.Integer, primary_key=True)  # 编号manager = db.Column(db.String(100), unique=True)  # 管理员账号password = db.Column(db.String(100))  # 管理员密码def __repr__(self):return "<Admin %r>" % self.managerdef check_password(self, password):"""检测密码是否正确:param password: 密码:return: 返回布尔值"""from werkzeug.security import check_password_hashreturn check_password_hash(self.password, password)# 大分类
class SuperCat(db.Model):__tablename__ = "supercat"id = db.Column(db.Integer, primary_key=True)  # 编号cat_name = db.Column(db.String(100))  # 大分类名称addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间subcat = db.relationship("SubCat", backref='supercat')  # 外键关系关联goods = db.relationship("Goods", backref='supercat')  # 外键关系关联def __repr__(self):return "<SuperCat %r>" % self.cat_name# 子分类
class SubCat(db.Model):__tablename__ = "subcat"id = db.Column(db.Integer, primary_key=True)  # 编号cat_name = db.Column(db.String(100))  # 子分类名称addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间super_cat_id = db.Column(db.Integer, db.ForeignKey('supercat.id'))  # 所属大分类goods = db.relationship("Goods", backref='subcat')  # 外键关系关联def __repr__(self):return "<SubCat %r>" % self.cat_name# 商品
class Goods(db.Model):__tablename__ = "goods"id = db.Column(db.Integer, primary_key=True)  # 编号name = db.Column(db.String(255))  # 名称original_price = db.Column(db.DECIMAL(10,2))  # 原价current_price  = db.Column(db.DECIMAL(10,2))  # 现价picture = db.Column(db.String(255))  # 图片introduction = db.Column(db.Text)  # 商品简介views_count = db.Column(db.Integer,default=0) # 浏览次数is_sale  = db.Column(db.Boolean(), default=0) # 是否特价is_new = db.Column(db.Boolean(), default=0) # 是否新品# 设置外键supercat_id = db.Column(db.Integer, db.ForeignKey('supercat.id'))  # 所属大分类subcat_id = db.Column(db.Integer, db.ForeignKey('subcat.id'))  # 所属小分类addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间cart = db.relationship("Cart", backref='goods')  # 订单外键关系关联orders_detail = db.relationship("OrdersDetail", backref='goods')  # 订单外键关系关联def __repr__(self):return "<Goods %r>" % self.name# 购物车
class Cart(db.Model):__tablename__ = 'cart'id = db.Column(db.Integer, primary_key=True)  # 编号goods_id = db.Column(db.Integer, db.ForeignKey('goods.id'))  # 所属商品user_id = db.Column(db.Integer)  # 所属用户number = db.Column(db.Integer, default=0)  # 购买数量addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间def __repr__(self):return "<Cart %r>" % self.id# 订单
class Orders(db.Model):__tablename__ = 'orders'id = db.Column(db.Integer, primary_key=True)  # 编号user_id = db.Column(db.Integer, db.ForeignKey('user.id'))  # 所属用户recevie_name = db.Column(db.String(255))  # 收款人姓名recevie_address = db.Column(db.String(255))  # 收款人地址recevie_tel = db.Column(db.String(255))  # 收款人电话remark = db.Column(db.String(255))  # 备注信息addtime = db.Column(db.DateTime, index=True, default=datetime.now)  # 添加时间orders_detail = db.relationship("OrdersDetail", backref='orders')  # 外键关系关联def __repr__(self):return "<Orders %r>" % self.id
http://www.lryc.cn/news/31416.html

相关文章:

  • PowerShell 实现企业微信机器人推送消息
  • IDEA集成Git就是这么简单
  • springBoot 事务基本原理
  • HBuilderX无线连接真机
  • idea初学笔记
  • C++核心编程<类和对象>(4)
  • 编写http workshop脚本从网页缓存里解析音乐
  • 当数字孪生遇上轨道交通,会有什么新发展?
  • 原理底层计划--分布式事务
  • Hive总结
  • docker环境下安装jenkins
  • Shifu基础功能:设备接入
  • 基于Java+SpringBoot+Vue+Redis+RabbitMq的鲜花商城
  • 蓝桥杯真题(解码)小白入!
  • 并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别?
  • 分享四个前端Web3D动画库在Threejs中使用的动画库以及优缺点附地址
  • 谷歌浏览器和火狐浏览器永久禁用缓存【一劳永逸的解决方式】
  • kibana查看日志
  • JS 异步接口调用介绍
  • 5.深入理解HttpSecurity的设计
  • opencv-python numpy常见的api接口汇总(持续更新)
  • 概率论小课堂:伯努利实验(正确理解随机性,理解现实概率和理想概率的偏差)
  • 加密功能实现
  • 大数据项目实战之数据仓库:用户行为采集平台——第1章 数据仓库概念
  • NTP对时服务器(NTP电子时钟)在生物制药业应用
  • JPA 之 QueryDSL-JPA 使用指南
  • 如何找回回收站删除的视频?这三种方法可以试试
  • FPGA_边沿监测理解
  • 41 42Ping-Pong操作
  • 保护你的数据安全,了解网络安全法!