完整电商项目--(五)用户基本信息(2):收货地址

电商项目的收货地址 收货地址主要分为: 1:添加地址 2:设置默认地址 3:编辑地址 4:删除地址 添加地址框里面涉及到了省市区三级联动问题 我们需要先创建一张自关联的城市表 # 城市表 自关联表 class City(models.Model): name = models.CharField(max_length=20,verbose_name='城市名字') city_id = model... 阅读详情

业务分析(纯业务逻辑分析,增删改查我们就不讲代码实现,主要是学习电商设计)

  • 这一部分可以参考一般的电商网站做
    在这里插入图片描述
class Address(BaseModel):
    """用户地址"""
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='addresses', verbose_name='用户')
    title = models.CharField(max_length=20, verbose_name='地址名称')
    receiver = models.CharField(max_length=20, verbose_name='收货人')
    province = models.ForeignKey('areas.Area', on_delete=models.PROTECT, related_name='province_addresses', verbose_name='省')
    city = models.ForeignKey('areas.Area', on_delete=models.PROTECT, related_name='city_addresses', verbose_name='市')
    district = models.ForeignKey('areas.Area', on_delete=models.PROTECT, related_name='district_addresses', verbose_name='区')
    place = models.CharField(max_length=50, verbose_name='地址')
    mobile = models.CharField(max_length=11, verbose_name='手机')
    tel = models.CharField(max_length=20, null=True, blank=True, default='', verbose_name='固定电话')
    email = models.CharField(max_length=30, null=True, blank=True, default='', verbose_name='电子邮箱')
    is_deleted = models.BooleanField(default=False, verbose_name='逻辑删除')

    class Meta:
        db_table = 'tb_address'
        verbose_name = '用户地址'
        verbose_name_plural = verbose_name
        ordering = ['-update_time']
  • Address模型类中的外键指向areas/models里面的Area。指明外键时,可以使用应用名.模型类名来定义。
  • ordering 表示在进行Address查询时,默认使用的排序方式。
  • ordering = [’-update_time’] : 根据更新的时间倒序。
(1)收货地址及默认收货地址
  • (1)定义地址模型类,参考上面的字段。注意:一个用户有多个收货地址,所以我们需要 定义一个字段,关联 user模型类。

  • (2) 另外需要一个 默认收货地址, 我们在user中 新加入一个 default_address 字段。用它来指定用户的默认收货地址

  • 业务(1) 需要用户手动设置默认地址的接口。

  • 业务(2)需要能对已有接口进行增删改查的接口(一般采用逻辑删除)

  • 业务(3)需要有新增用户地址的接口(如上述图片),并且限制,每个用户最多填写20个地址。
    在这里插入图片描述
    都是一些增删改查的操作,这里就不多介绍了~

另外在地址搜索的时候有一个地址的 三级联动:
  • 这个大部分是由前端做的。我们只需要传递两个接口。 一个用用来获取省的数据, 一个用来获取市, 区的数据。
  • 数据表当然是用一个表存储的,自关联。

好了~ 介绍的太笼统了~ 不过就是基本的增删改查逻辑。实现的是比较简单的地址功能,就这些吧

over!

电商项目测试总结 *B2C网站最重要的就是购物流程包括: 一、登录 二、搜索商品/店铺 #UI测试 每个商品的信息文字图片是否正确、图片是否完整正确、点击链接是否调跳到正确的页面 首页的输入框 下拉框 多选框 按钮是否正确,js动画效果,鼠标悬停时轮播图是否正确 #功能 热门搜索关键词5个是否显示正确(数据库sql语句查询、order by 、limit) 商品分类5个是否显示正确(数据库商品分类表,sql语句查询... 阅读详情

相关推荐

用户画像及项目实例:电商用户画像

用户画像 所谓用户画像就是标签的汇总,从用户不同方面信息中提取有价值特征来构建标签库,并从标签库中探索信息,从而构建用户画像。 用户画像建模: 第一步:统一用户唯一标识 用户唯一标识是整个用户画像的核心,方便跟踪和分析一个用户的特征。 设计唯一标识的选择:用户名、注册手机号、联系人手机号、邮箱、设备号、CookieID等。 第二步:给用户打标签,即用户画像 用户消费行为分析,可从4个维...

厚积薄发 6435

HTML&CSS 基础入门 01

1. web概念概述 JavaWeb: 使用Java语言开发基于互联网的项目 软件架构: C/S: Client/Server 客户端/服务器端 在用户本地有一个客户端程序,在远程有一个服务器端程序 如:QQ,迅雷… 优点: 用户体验好 缺点: 开发、安装,部署,维护 麻烦 B/S: Browser/Server 浏览器/服务器端 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序 优点: 开发、安装,部署,维护 简单 缺点: 如果应用过大,

z398514470的博客 231

DRF实操学习——收货地址的设计

选择省份的输入框,会向后端发送请求,获取所有省份,渲染到前端。比如选择湖北省,然后前端获取到湖北省的id,再次向后端发起请求,获取到湖北省下的所有区划。同理,在根据孝感市的id获取到孝感市下的所有区划。可以将查询操作多的数据放在redis中,即将高频数据或临时数据缓存。重写get_queryset方法,当操作为list操作时,查询所有parent=None的数据,即省份。定义收货地址模型类 ,新建一个收货地址表,外键关联用户表,保存是哪个用户创建的。特点:增加、删除、修改、更新操作少。

m0_51453764的博客 1161

Django商城项目笔记No.16用户部分-用户中心收货地址

首先完成省市区三级联动 新建areas应用 python ../../manage.py startapp areas 模型类代码 class Area(models.Model): """ 行政区划 """ name = models.CharField(max_length=20, verbose_name='名称') ...

diaojiao6326的博客 318

vue2 - 详细实现用户收货地址识别解析“姓名/手机号/省市区/街道/乡镇村庄“关键字,用户复制粘贴一段含有姓名电话/详细地址的文字文本信息,vue3自动识别拆分并填入到对应表单字段中,详细示例代码

vue2,nuxt2,快递地址读取,收货地址解析、快递地址解析、物流地址解析自动识别,收货地址解析,从发货地址中拆出姓名电话地址,根据粘贴的字符串提取姓名地址,vue地址信息自动识别,ts,vue2智能识别地址,提取姓名电话地址信息,自动识别出省市区街道姓名手机号等,根据文本自动解析出收货信息,怎么识别文本中的手机号,粘贴板地址识别,地址智能识别,如何识别收货地址中的关键字,粘贴一段文字后,自动识别到姓名/手机号/收货地址,vue仿淘宝地址智能识别解析实现,省市区街道智能解析,vue2收货地址,识别地址电话

✅ 精选推荐文章 3370

PMOS缓启动电路设计实战:用LTspice优化上电时序,把60A冲击降到15A

本文通过一个实战案例,深入解析了PMOS缓启动电路如何有效抑制上电冲击电流。文章指出,低ESR电容是导致冲击电流飙升的元凶,并详细阐述了利用LTspice仿真工具,通过优化栅极电阻和栅源电容等参数,将高达60A的冲击电流成功降至15A的设计与优化过程,为电源开关电路设计提供了可复用的方法论。

onion的博客 895

Django实战----用户中心内收获地址的增删改查

需求 添加收获地址模型类 继承于我们自己写的BaseModel类里面有创建数据的时间和更新数据的时间 BaseModel代码 在utils工具包内创建models.py 放入我们自己写的model类 设置abstract为True告诉Django程序这个model类只是用来继承,不创建表 from django.db import models class BaseModel(models.Model): create_time = models.DateTimeField(a.

bjsyc123456的博客 474

SCDM学习笔记(5)

几何前处理后一般会获得几何的固体区域,然而当进行流体仿真的时候是对流体的区域进行计算的。因此,如何快速地从固体的几何模型获得流体的几何模型是一个重点问题。 流体问题一般可分为内流场与外流场问题,对于内流场问题,SCDM有专门的处理工具 工程图纸大致如下: 要创建这个几何的大致策略是画出截面的圆形,再画出轴线,通过扫掠的方式建立几何。 以上是mixing的国体区域,通过体积抽...

diyhoo的编程小屋 6356

Django 19购物商城项目(收货地址:添加、修改)

dDjango 19购物商城项目1、新建axf_addr,收货地址表2、路由3、cart页面,添加默认收货地址4、视图(主要修改了cart、新建了收货地址相关方法)5、收货地址列表6、收货地址编辑、新建页面(这部分重点在js上)7、中间件8、访问截图 1、新建axf_addr,收货地址表 (我的代码注释里面有时也称收货信息表) 模型: # 收货信息(收货地址) class Addr(models....

这里的分享,都是干货 2819

扣子(coze)实战|手把手教你搭建AI换装自动化工作流

摘要:本文介绍了使用Coze平台搭建AI换装工作流的详细教程。工作流包含模特图片上传、服装替换、任务提交和智能轮询等模块,通过change_model插件实现异步换装处理,并内置30秒循环查询机制。该工具支持自定义API密钥对接不同AI服务商,目前已上线共享空间并提供会员服务(59.8元/年)和VIP课程(499元/年),包含100+智能体和实战案例资源。完整体验地址见文中链接。

yueyehuguang的博客 1842

深入解析mSATA与mini-PCIE接口的硬件设计要点

本文深入解析mSATA与mini-PCIE接口的硬件设计要点,涵盖信号定义、电源设计、高速信号处理及PCB布局布线等关键内容。通过实战案例和调试技巧,帮助工程师规避常见设计陷阱,提升电路设计效率,特别适合工业控制和嵌入式系统开发场景。

weixin_28741413的博客 315

Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址

依旧是更具前端的数据来写在这里修改和删除地址的URL是相同的 , 所以我们只要设置一个模型类就可以实现这两个功能修改地址的请求是一个put请求 , 同时在请求结束后, 还需要将修改后的数据返回给前端所以过程就和新增非常类似了 二 . 删除地址 在这里我们要注意 , 数据库在设置的过程中其实是一个假删除 , 也就是用户在操作之后数据库并不会真正的将数据删除掉 , 只是不显示所以就很简单了 , 只需要修改is_delete字段就可以了 三 . 默认地址 设置默认地址的方法也很简单 , 因为我们在定义用户模型类的

几许的博客 698

Vensim系统动力学建模实战:从理论到仿真优化【案例详解】

本文详细介绍了Vensim在系统动力学建模中的实战应用,从基础理论到仿真优化全面解析。通过人口增长、供应链库存优化等典型案例,展示如何利用Vensim构建动态模型并进行参数优化,帮助读者掌握系统动力学建模的核心技术与实践技巧。

weixin_29231725的博客 475

电商项目实战--收货地址相关

27. 收货地址-分析 关于“收货地址”数据的管理,涉及的功能有:增加,修改,删除,设为默认,显示列表。 以上功能的开发顺序应该是:增加 > 显示列表 > 设为默认 > 删除 > 修改。 28. 收货地址-创建数据表 创建收货地址数据表: CREATE TABLE t_address ( aid INT AUTO_INCREMENT COMMENT '收货地址id', ...

zhyue28的博客 7021

elmos 524系列芯片笔记

芯片的工作工作原理:集成芯片Elmos524.03有发射回路和接收回路,手册有关的内部原理图,大致如下: 芯片会产生固有频率的电压信号,信号通过引脚DRV1、2输出给外部压电陶瓷片,产生固定频率的机械波,也就是所谓的超声波,超声波遇到障碍物时会反射,反射信号经过AINS、D引脚进入芯片,在芯片内部先后经过GAIN放大,滤波然后进入比较器,滤波后的信号(signal)同预先设定的阈值(threshold)比较产生信号输出。此信号最终会连接MCU处理器,需要重点关注。 基于这个内部的工作原

qq_38230916的博客 2483

洛谷P5707 【深基2.例12】上学迟到(c语言)

第一篇题解 题目描述 yyy 的学校要求早上 8 点前到达。学校到 yyy 的家一共有 s(s\le 10000)s(s≤10000) 米,而 yyy 可以以 v(v<10000)v(v<10000) 米每分钟的速度匀速走到学校。此外在上学路上它还要额外花 10 分钟时间进行垃圾分类。请问为了避免迟到 yyy 最晚什么时候出门?输出 HH:MM 的时间格式,不足两位时补零。由于路途遥远, yyy 可能不得不提前一天出发,不过不可能提前超过一天。 输入格式 两个正整数 s,v,意思已经在题目中给定

cc_love_program的博客 1万+

电商项目之收货地址理解

1、收货地址增加(请求参数:HttpSession session,Shipping shipping) a、获取session中当前登陆用户 b、将用户id和地址进行关联,防止横向越权,没有用户id,某人登陆后可传别人的收货地址id c、将收货地址插入到数据库 2、收货地址删除(请求参数:HttpSession session,Integer shippingId) a、获取sessi...

Richard_666的博客 4370

15、人工智能社会学:关系视角下的机器相遇

本文探讨了将人工智能视为社会主体的可能性,提出了一种关系视角下的人工智能社会学。通过结合卢西亚娜·帕里西、艾伦·图灵和乔治·赫伯特·米德的理论,强调不确定性在人工智能运行中的核心地位,并分析了人工智能如何通过与社会环境的互动催生新奇性,从而拓展社会学的研究范畴。文章还讨论了人工智能对社会结构和社会互动的影响,以及其作为社会主体所带来的理论和实践意义,为未来人工智能社会学的发展提供了方向。

pea55的博客 72

JAVA项目实战开发电商项目案例(九)收货地址模块开发

好久没有写项目实战开发了,这次项目实战主要讲的是PC端电商平台,用户购买商品,选择邮寄的地址,需要用户添加收货地址,或者添加多个收货地址,以及删除收货地址。 演示地址:http://www.liph.fun/business-Admin/shop/ 1收货模块功能演示 2开发收货地址模块流程 2.1数据库表设计 表字段 中文含义 user_id 用户ID receive...

HP-MN 4186

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

天天生鲜项目——用户收货地址页

10、user_center_site.html 用户中心-用户收货地址页 用户中心功能三,查看和设置用户的收货地址 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml...

Cherry的博客 1552

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【Vue+DRF生鲜电商】24.用户收货地址功能

专题:Vue+Django REST framework前后端分离生鲜电商 Vue+Django REST framework 打造前后端分离的生鲜电商项目(慕课网视频)。 Github地址:https://github.com/xyliurui/DjangoOnlineFreshSupermarket ; Django版本:2.2、djangorestframework:3.9.2。 更多内...

吾星喵的博客 2059

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Java电商项目面试--收货地址模块

收货地址模块技术要点: 1、同步获取自增主键 2、数据绑定的对象绑定 3、越权问题升级巩固 一、新增收货地址 Controller层: //新建收货地址 @RequestMapping("add.do") @ResponseBody public ServerResponse add(HttpSession session,Shipping shipping){ ...

小刺猬 5963

电商平台用户画像:MGeo完善收货地址标签体系

MGeo的引入,使电商平台得以突破传统地址处理的语义鸿沟,真正实现“以地理实体为中心”的数据治理。MGeo不仅是地址相似度工具,更是连接非结构化文本与结构化空间知识的关键桥梁。数据质量提升:将碎片化地址归一为可统计、可分析的地理实体标签维度拓展:从“省市区”三级扩展到“社区/POI类型”五级细粒度标签业务赋能增强:支撑区域化运营、智能推荐、供应链优化等多场景应用未来,随着MGeo模型持续迭代(如支持多语言、结合地图API),其在智慧物流、本地生活、城市计算等领域的潜力将进一步释放。

weixin_42462474的博客 937

添加收货地址

新增收货地址-创建数据表 CREATE TABLE t_address ( aid INT AUTO_INCREMENT COMMENT '收货地址id', uid INT COMMENT '归属的用户id', name VARCHAR(20) COMMENT '收货人姓名', province_name VARCHAR(15) COMMENT '省-名称', province_code CHAR(6) COMMENT '省-行政代号', city_name VARCHAR(15) COMM..

weixin_45156514的博客 2934

新增收货地址【项目 商城】

操作收货地址【项目 商城】

小心星的博客 1392

电商项目-订单处理(三)确认收货与自动收货实现

电商系统,订单处理,确认收货与自动收货实现,Spring Task

kong7906928的博客 2249
上一篇: 完整电商项目--(五)用户基本信息(1):发送邮件
下一篇: 完整电商项目--(五)用户基本信息(3):地址的三级联动--缓存处理
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值