Django框架-美多商城项目

后续技术类文档更新到微信公众号-------->>喜欢的扫码关注

在这里插入图片描述
美多商城

项目准备

登录模块

注册

用户模型 AbstractUser

图片验证码

第三方工具包

Redis

UUID

验证码内容

子主题 3

短信验证码

云通讯

Celery

任务队列 broker

Redis

处理器 worker

跨机部署

delay方法发送异步任务

celery -A celery_tasks.main worker -l info

Redis

手机号作为key

短信验证码内容

图片验证码必须正确

标记flag, Redis, 60s

注册

注册成功的返回值

username, user_id, token

JWT, Token

组成: header.payload,signature

生成登录token的方式

itsdangerous生成自定义token

登录

传统登录

obtain_jwt_token能够直接实现登录逻辑

自定制返回值

支持手机号和用户名登录

QQ登录

  1. 调用接口,获取qq登录的网址

  2. 用户进行扫码登录

  3. 跳到回调地址页, 带个code参数

  4. 调接口, code传给服务器, 服务器使用code换openid

  5. 查询openid是否已经绑定

未绑定

access_token

已绑定

返回token

  1. 未绑定, 提交表单, 执行绑定操作

用户中心

展示用户基本信息

request.user

permission_classes = [IsAuthenticated]

保存邮箱并发送激活链接

User, email_active

发邮件

163邮箱

from django.core.mail import send_mail

Celery

生成激活链接

access_token, user, email

用户点击激活链接,完成激活

校验access_token

修改email_active

收获地址管理

ViewSet

省市区三级联动

缓存

CacheResponseMixin

商品部分

表设计

2张广告表

9张商品表

SPU, SKU

FastDFS

tracker

storage

自定义文件存储系统

admin, 富文本编辑器, CKEditor

docker

镜像

容器

页面静态化

首页静态化

  1. 从数据库查询数据

  2. 渲染模板

  3. 写入文件

详情页静态化

时机

首页, 每个5分钟

定时任务 Crontab

详情页, 数据发生改变

监听admin保存操作

Celery

脚本文件

浏览历史记录

Redis

list, sku_id

商品列表页

分页

DRF自带分页功能

排序

DRF自带OrderFilter

商品搜索

ElasticSearch

索引

haystack

定义索引类

复合字段text

调用命令生成索引

序列化器

视图集

购物车

已登录

Redis

hash

sku_id, count

set

已经被勾选的sku_id

未登录

Cookie

dict–>str

pickle, dict–>0101001

base64, 0101001–>b’str’

如何判断是否已登录?

request.user

增删改查, 全选

合并购物车

时机

传统登录

QQ登录

订单

订单结算

保存订单

往订单表插入记录

往订单商品表插入记录

开启事务

并发问题解决

悲观锁

乐观锁

任务队列

支付

支付宝支付

  1. 获取支付宝的网址

  2. 用户进行支付

  3. 跳到回调地址页, 携带一大堆参数和签名

  4. 将参数传给服务器, 进行校验, 验签, 成功后更新数据库, 订单状态更新, 记录交易流水号

RSA加密

公钥

私钥

数字签名

部署

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要搭建一个django-vue-admin项目,你可以按照以下步骤进行操作: 1. 首先,创建一个Django项目,并安装所需的依赖。在设置文件中,确保你的TEMPLATES配置中包含了以下内容:'BACKEND': 'django.template.backends.django.DjangoTemplates'。 2. 接下来,配置Django的模板上下文处理器。在设置文件中,确保你的TEMPLATES配置中包含了以下内容:'django.contrib.auth.context_processors.auth'和'django.template.context_processors.request'。 3. 然后,安装django-vue-admin库。你可以使用pip安装它:pip install django-vue-admin。 4. 在你的Django项目中创建一个新的应用程序。你可以使用以下命令创建一个名为"admin"的应用程序:python manage.py startapp admin。 5. 在你的项目设置文件中注册新创建的应用程序。将'app名'admin'添加到你的INSTALLED_APPS配置中。 6. 在admin应用程序的目录中创建一个名为"templates"的文件夹,并在其中创建一个名为"admin"的子文件夹。 7. 在"admin"文件夹中创建一个名为"base.html"的模板文件,该文件将作为你的项目的基础模板。 8. 在"base.html"模板文件中,使用Vue.js编写前端代码,以实现你希望在项目中看到的功能和样式。 9. 在你的admin应用程序的视图中,定义需要的后端逻辑和模型操作。 10. 最后,运行你的Django服务器并访问项目的URL,以查看django-vue-admin项目的效果。 请按照以上步骤进行操作,你就可以成功地搭建一个django-vue-admin项目了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Django+Vue环境搭建](https://blog.csdn.net/WeirdoGiraffe/article/details/124863602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值