
Django-商城项目
文章平均质量分 55
商城项目
愚公搬代码
《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,优快云博客专家,优快云商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
展开
-
【愚公系列】2022年02月 Django商城项目 35-页面静态化功能实现
文章目录前言1.页面静态化一、Django首页静态化二、商品详情页静态化前言1.页面静态化常说的页面静态化分为两种,一种是伪静态,即url 重写,一种是真静态化。网页静态化优点:加快页面打开浏览速度,静态页面无需连接数据库打开速度较动态页面有明显提高;有利于搜索引擎优化SEO,Baidu、Google都会优先收录静态页面,不仅被收录的快还收录的全;减轻服务器负担,浏览网页无需调用系统数据库;网站更安全,HTML页面不会受php相关漏洞的影响; 观看一下大一点的网站基本全是静态页面,而且可原创 2022-02-06 01:13:58 · 35883 阅读 · 5 评论 -
【愚公系列】2022年02月 Django商城项目 34-订单支付功能实现(支付宝)
文章目录前言一、回调逻辑处理1.安装SDK2.生成私钥公钥3.setting中支付宝配置信息4.生成支付URL5.接收支付成功信息前言具体支付宝支付流程可参考这篇文章:https://www.cnblogs.com/xiaolu915/p/10528155.html一、回调逻辑处理1.安装SDKpip install python-alipay-sdk --upgrade2.生成私钥公钥opensslOpenSSL> genrsa -out app_private_key.pem原创 2022-02-06 00:51:44 · 36217 阅读 · 0 评论 -
【愚公系列】2022年02月 Django商城项目 33-订单确认功能实现
文章目录一、订单确认功能实现1.后台处理逻辑2.JS二、订单支付成功页面1.后台逻辑2.页面设计3.实际效果一、订单确认功能实现1.后台处理逻辑class OrderView(LoginRequiredJSONMixin,View): def post(self,request): # 这里省略了很多操作,这些操作不需要事务 # 1.订单信息 # 1.1 获取用户信息 user = request.user原创 2022-02-05 15:30:59 · 36411 阅读 · 1 评论 -
【愚公系列】2022年02月 Django商城项目 32-订单页面设计
文章目录一、订单页面设计1.HTML2.JS3.后端业务逻辑二、页面效果一、订单页面设计1.HTML<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head&g原创 2022-02-04 22:51:37 · 36427 阅读 · 0 评论 -
【愚公系列】2022年02月 Django商城项目 31-订单模型数据库设计
文章目录一、订单模型数据库设计二、数据库模型类一、订单模型数据库设计二、数据库模型类原创 2022-02-04 17:44:08 · 36131 阅读 · 0 评论 -
【愚公系列】2022年02月 Django商城项目 30-购物车功能实现
文章目录一、添加购物车1.后端逻辑代码2.前台请求接口代码3.实际效果二、获取购物车1.后端逻辑代码2.前台页面代码3.实际效果三、更新购物车1.后端逻辑代码2.前台页面代码3.实际效果四、删除购物车1.后端逻辑代码2.前台页面代码一、添加购物车1.后端逻辑代码"""一 前后端需求分析需求 前端需要收集: 商品id,商品数量, 选中是可选的(默认就是选中) 如果用户登陆了则请求携带session id 如果用户未登陆了则不请求携带sessi原创 2022-02-03 20:13:04 · 36907 阅读 · 0 评论 -
【愚公系列】2022年02月 Django商城项目 29-商品浏览历史记录功能实现
文章目录前言一、商品浏览历史记录功能实现1.后台统计代码2.前台请求接口代码2.1 用户中心获取浏览历史记录2.2 商品详情页保存浏览记录前言浏览商品的历史记录主要有两种方式实现cookie(用户浏览器存储)redis(服务端存储)本文介绍redis实现用户浏览商品的历史记录思路: 用户每次浏览商品时, 向后台发送请求, 携带商品ID, 然后在 Redis中存储: 用户ID和浏览的商品ID,以时间排序. 来实现存储用户浏览历史记录.其比较复杂的是redis选用数据结构(有序Set)一、原创 2022-02-02 17:40:20 · 36940 阅读 · 0 评论 -
【愚公系列】2022年02月 Django商城项目 28-商品埋点统计功能实现
文章目录前言1.埋点可分为:代码埋点、可视化埋点、无埋点2.埋点数据统计可分为:一、商品埋点统计功能实现1.后台统计代码2.前台请求接口代码总结前言所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。1.埋点可分为:代码埋点、可视化埋点、无埋点代码埋点:在网页或者应用程序中中加上一些代码的,当用户触发相应行为时,进行数据上报,也就是代码埋点。可视化埋点:利用可视化交互手段,数据产品/数据分析师可以通过可视化界面原创 2022-02-02 11:31:11 · 35925 阅读 · 0 评论 -
【愚公系列】2022年02月 Django商城项目 27-商品详情页功能实现
文章目录一、商品详情页功能实现1.后台查询代码二、详情页面展示1.前台html代码2.实际效果三、包装、规格、售后页面展示1.前台html代码2.实际效果四、404页面1.前台html代码2.实际效果一、商品详情页功能实现1.后台查询代码class DetailView(View): def get(self,request,sku_id): # 获取当前sku的信息 try: sku = SKU.objects.get(id=sk原创 2022-02-01 14:01:35 · 36530 阅读 · 3 评论 -
【愚公系列】2022年02月 Django商城项目 26-搜索引擎功能实现
文章目录一、全文检索和搜索引擎原理1.商品搜索需求2.商品搜索实现3.全文检索方案4.搜索引擎原理二、Elasticsearch介绍三、Docker安装Elasticsearch四、haystack扩展建立索引1. Haystack介绍和安装配置1.1 Haystack介绍1.2 Haystack安装1.3 Haystack注册应用和路由1.4测试五、自定义页面访问1.创建索引类2.创建序列化器3.最后创建建立索引的数据4.创建视图5.创建索引的序列器6.在我们应用的路由中进行注册一、全文检索和搜索引擎原创 2022-02-01 00:43:56 · 39915 阅读 · 3 评论 -
【愚公系列】2022年01月 Django商城项目 25-热销数据功能实现
文章目录一、热销数据功能实现1.后台查询代码二、热销数据信息展示1.前台html代码2.实际效果一、热销数据功能实现1.后台查询代码class HotView(View): def get(self,request,category_id): # 1.获取分类id # 2.查询是否有当前分类 try: category=GoodsCategory.objects.get(id=category_id)原创 2022-01-31 22:31:26 · 35755 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目 24-商品列表页功能实现
文章目录一、商品列表页功能实现1.后台查询代码二、面包屑信息展示1.前台html代码2.实际效果三、列表页信息展示1.前台html代码2.实际效果一、商品列表页功能实现1.后台查询代码from django import httpfrom django.shortcuts import render# Create your views here.from django.views import Viewfrom app.contents.utils import get_categor原创 2022-01-31 22:23:00 · 36081 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目 23-自定义文件存储系统
文章目录前言一、自定义的存储系统类二、配置文件中三、页面中使用1.原本2.自定义后补充前言如果你需要提供自定义文件储存功能把文件储存在远程系统中,Django可以自定义一个存储类可以完成这一任务。一、自定义的存储系统类# 自定义存储类,重写url方法"""1. 您的自定义存储系统必须是以下的子类 django.core.files.storage.Storage2.Django必须能够在没有任何参数的情况下实例化您的存储系统。 这意味着任何设置都应该来自django.conf.se原创 2022-01-31 16:13:47 · 35767 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目 22-首页信息展示
文章目录一、首页信息展示1.后台查询代码二、分类信息展示1.前台html代码2.实际效果三、轮播图广告展示1.前台html代码2.实际效果四、快讯和页头展示1.前台html代码2.实际效果五、商品楼层展示1.前台html代码2.实际效果一、首页信息展示1.后台查询代码from app.contents.models import ContentCategoryfrom app.contents.utils import get_categoriesclass IndexView(View):原创 2022-01-31 15:56:10 · 36004 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目 21-FastDFS文件上传下载流程实操
文章目录前言一、图片上传和下载流程二、FastDFS容器部署1.解压容器2.启动tracker server3.启动storage server4.服务启动后前言一、图片上传和下载流程二、FastDFS容器部署1.解压容器sudo docker load -i fastdfs_docker.tar2.启动tracker serverdocker run -dit --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs d原创 2022-01-31 13:16:22 · 36370 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目 20-Docker下FastDFS下的配置
文章目录前言一、Docker下FastDFS下的配置1.跟踪服务器(tracker server)2.存储服务器(storage server)3.nginx配置3.图片上传和下载流程前言FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高原创 2022-01-31 10:58:50 · 36903 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目19-商品数据表的设计
文章目录一、SPU、SKU和商品数据库表设计1.SPU2.SKU3.数据库设计ER图4.模型类设计二、首页广告数据库表设计1.数据库设计ER图2.模型类设计总结一、SPU、SKU和商品数据库表设计在电商项目里面为了准确的描述商品的区别,我们抽象出来两个概念,Spu和Sku这两个概念。1.SPUSPU(Standard Product Unit):标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一原创 2022-01-26 01:13:01 · 37715 阅读 · 2 评论 -
【愚公系列】2022年01月 Django商城项目18-用户中心-密码修改功能页面设计
文章目录一、密码修改功能页面设计1.HTML2.JS二、页面效果一、密码修改功能页面设计1.HTML<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head&g原创 2022-01-26 00:24:49 · 37523 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目17-用户中心-地址管理功能实现(增删改查)
文章目录前言一、后端逻辑1.增2.删3.改4.查二、实现效果前言在商城设计中,用户的收获地址管理是必不可少的功能,而且一个用户还存在多地址的情况,和默认地址。此篇文章就是讲解用户和地址管理功能实现一、后端逻辑1.增def post(self,request): # 一个人最多添加20个地址 # 0 先判断当前的用户的地址是否多余等于20个 # 获取当前用户的地址的数量 count = Address.objects.filter(原创 2022-01-24 00:59:31 · 37610 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目16-用户中心-地址管理之省市三联动功能实现
文章目录一、创建数据库二、后端处理逻辑代码三、前端相关代码和页面设计四、页面效果总结一、创建数据库表结构为:id:主键name:省市名称parent_id:自关联主键id二、后端处理逻辑代码class AreasView(View): def get(self,request): # parent_id = request.GET.get('parent_id') parent_id = request.GET.get('area_id')原创 2022-01-24 00:51:02 · 38113 阅读 · 1 评论 -
【愚公系列】2022年01月 Django商城项目15-用户中心-发送邮件验证功能实现
文章目录前言一、相关代码1.业务逻辑相关代码2.celery发送邮件相关代码3.激活邮件相关代码前言邮箱进行验证主要是为了保证联系信息的有效性,方便您后续找回用户名、密码,同时也可以让您及时接收到系统的相关操作消息。所以邮箱验证是很重要的一个功能。一、相关代码1.业务逻辑相关代码class EmailView(LoginRequiredJSONMixin,View): def get(self,request): data = json.loads(request.bo原创 2022-01-22 19:06:23 · 37528 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目14-用户中心-界面设计
文章目录一、HTML页面二、js文件三、页面效果一、HTML页面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta http-e原创 2022-01-20 01:25:20 · 37814 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目13-登录界面-QQ登录功能实现
文章目录前言1.QQ互联开发者申请2.QQ互联应用申请3.网站对接QQ登录一、django实际对接流程1.创建抽象模型类2.创建QQ用户模型类3.注册应用4.配置QQ登录信息前言1.QQ互联开发者申请若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现相关连接:https://connect.qq.com/第一步:首先使用qq登录第二步:注册个人应用注册成功后如下2.QQ互联应用申请成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID。相关连接:htt原创 2022-01-17 23:33:52 · 37473 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目12-登录界面-登录和退出功能实现
文章目录一、登录功能实现1.使用django自带的用户登录模型配置2.UsernameMobileModelBackend校验函数源码3.登录的业务逻辑实现4.用户名展示5.实际效果二、退出功能实现1.退出的业务逻辑实现总结一、登录功能实现1.使用django自带的用户登录模型配置# 允许自定义用户模型类AUTH_USER_MODEL = 'users.User'# 修改默认的认证后端AUTHENTICATION_BACKENDS = [ # 'django.contrib.auth原创 2022-01-16 01:17:14 · 37264 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目11-登录界面-页面设计
文章目录一、HTML页面二、js文件三、页面效果一、HTML页面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta http-e原创 2022-01-14 17:18:03 · 37199 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目10-首页-页面设计
文章目录一、HTML页面二、js文件三、页面效果一、HTML页面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta http-e原创 2022-01-14 01:03:37 · 39641 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目09-注册界面-注册功能实现
文章目录一、注册业务逻辑1.使用django自带的用户登录模型配置2.UsernameMobileModelBackend校验函数源码3.定义models类4.登录的业务逻辑一、注册业务逻辑1.使用django自带的用户登录模型配置# 允许自定义用户模型类AUTH_USER_MODEL = 'users.User'# 修改默认的认证后端AUTHENTICATION_BACKENDS = [ # 'django.contrib.auth.backends.ModelBackend'原创 2022-01-14 00:44:14 · 36962 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目08-注册界面-短信验证码
文章目录一、短信验证码1.celery消息中间件1.1celery的相关概念1.2celery的使用总结一、短信验证码1.celery消息中间件1.1celery的相关概念Celery由以下三部分构成:消息中间件(Broker)、任务执行单元Worker、结果存储(Backend)工作原理:任务模块Task包含异步任务和定时任务。其中,异步任务通常在业务逻辑中被触发并发往消息队列,而定时任务由CeleryBeat进程周期性地将任务发往消息队列;任务执行单元Worker实时监视消息队列获原创 2022-01-09 01:57:30 · 34486 阅读 · 3 评论 -
【愚公系列】2022年01月 Django商城项目07-注册界面-图片验证码
文章目录一、图形验证码1.依赖包安装2.图形验证码封装二、后端使用备注:`具体的前端请求图片上篇已经给出`一、图形验证码1.依赖包安装pip install pillow2.图形验证码封装import randomimport stringimport os.pathfrom io import BytesIOfrom PIL import Imagefrom PIL import ImageFilterfrom PIL.ImageDraw import Drawfrom PI原创 2022-01-05 00:47:34 · 34238 阅读 · 4 评论 -
【愚公系列】2022年01月 Django商城项目06-注册界面-页面设计
文章目录一、HTML页面二、js文件common.jsregister.js三、页面效果备注:`具体登录逻辑,图片验证码,短信验证码请看后面文章`一、HTML页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewpor原创 2022-01-05 00:38:14 · 34331 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目05-静态资源文件配置和域名配置和跨域问题
文章目录一、静态资源文件配置二、域名配置三、前后端跨域问题1.安装django-cors-headers2.添加应用3. 添加中间件4.设置白名单5.允许访问的域名一、静态资源文件配置settings文件加如下代码STATIC_URL = '/static/'# STATIC_ROOT = posixpath.join(*(BASE_DIR.split(os.path.sep) + ['static']))#告知系统去哪里 查找静态文件STATICFILES_DIRS = [ os.p原创 2022-01-03 00:30:05 · 34614 阅读 · 7 评论 -
【愚公系列】2022年01月 Django商城项目04-日志的使用
1,在settings.py下加上如下代码LOGGING = { 'version': 1, 'disable_existing_loggers': False, # 是否禁用已经存在的日志器 'formatters': { # 日志信息显示的格式 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' },原创 2021-04-12 10:27:45 · 51342 阅读 · 2 评论 -
【愚公系列】2022年01月 Django商城项目03-Redis配置
文章目录一、Redis配置1.安装相应包2.settings配置3.使用二、redis操作大全1.key2.String3.Hash4.List5.Set6. zset7.管道一、Redis配置1.安装相应包pip install django_redis2.settings配置#配置redisCACHES = { "default": { # 默认 "BACKEND": "django_redis.cache.RedisCache", "LOCATI原创 2022-01-02 23:09:31 · 33809 阅读 · 0 评论 -
【愚公系列】2022年01月 Django商城项目02-Mysql的配置
文章目录一、创建数据库1.创建数据库2.数据库配置二、数据迁移一、创建数据库1.创建数据库打开navicat,创建数据库,字符集设置utf82.数据库配置安装pip install PyMySQL__init__文件配置import pymysqlpymysql.install_as_MySQLdb()settings文件配置#DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sqli原创 2022-01-02 22:55:27 · 34401 阅读 · 1 评论 -
【愚公系列】2022年01月 Django商城项目01-jinja2模板配置
文章目录一、jinja2模板配置1.安装jinja2模块2.修改模板配置3.全局模板配置一、jinja2模板配置1.安装jinja2模块pip install jinja22.修改模板配置TEMPLATES = [ { 'BACKEND': 'django.template.backends.jinja2.Jinja2',# 修改模板引擎 'DIRS': [os.path.join(BASE_DIR,'templates')],# 设置模板路径原创 2022-01-02 22:29:25 · 33921 阅读 · 0 评论