Django交易商场

news2024/10/6 8:24:58

Hello,我是小恒不会java

最近学习django,写了一个demo,学到了不少东西。

我在GitHub上开源了,提示‘自行查看代码,维护,运行’。

最近有事,先发布代码了,我就随缘维护更新吧

介绍:

定位:小众交易网页
核心功能:登录注册认证,商品管理浏览,搜索逻辑,购物车
目的:熟悉django以及MVT模式,模拟业务

技术选型:python3.12,django5.x,js原生,sqlite(mysql)
部署方案:可后台run,也可使用应用服务器uwsgi等

部署:

1)shell脚本
2)docker拉取
(我在加油书写中)

源代码:

https://github.com/lmliheng/transaction-market


开发流程:

设计:
  • 应用创建:user和transction两个应用。user应用用于使用django内置认证权限模块。transaction用于整个网页非登录页面和页面逻辑实现
  • ORM创建模型model:django自身模型user,在transaction应用下,创建item和contact模型。建立关系,user和contact一对一关联,user和item一对多关联(onetoonefield以及foreignkey)
  • view视图逻辑:多数函数返回静态文件,通过django内置的模块渲染成可展示的静态文件运用CVB基于类的视图函数,实现每个商品按钮对应相应商品详情页面使用@login-require等内置方法验证登录状态
  • template和static文件规范:setting设置django查找template和static的目录,template注意django扫描该目录下文件可能会存在重名报错,应增加路由区别不同template文件(我是放在应用下的)。static我放在根目录下。在html文件内继承父文件,加载static,调用对象数据,注意路由

页面:

主页、分类页(继承主页)、个人页面、购物车页面、
登录页面,注册页面、商品细节页面

逻辑要点:

1)注册登录基本逻辑,登录保留数据
2)发布判断登录状态否则重定向(django自带的认证权限模块实现)
3)权限管理:发布与删除(用户私有),公开数据(商品展示和细节)
4)数据索引:用户-contact(onetoone)-item(forgniekey)(在model文件修改)
5)路由规范:主要是setting和根目录或应用的urls.py的匹配
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1579426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机的发展趋势

本文 我们来说计算机的发展趋势 目前来讲 计算机是朝着 巨型化 微型化 网络化 智能化发展 巨型化 指功能巨型化 是指其高速运算、大存储容量和强功能的巨型计算机。其运算能力一般在每秒百亿次以上、内存容量在几百兆字节以上。 主要用于航空航天、军事、气象、人工智能、生…

FME学习之旅---day21

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 教程:AutoCAD 变换 相关的文章 为您的 DWG 赋予一些样式:使用 DWGStyler、模板文件、块等 FME数据检查器在显示行的方式上受到限制。它只能显示线条颜色,而…

Linux锁的使用

一、临界资源与临界区 多线程会共享例如全局变量等资源&#xff0c;我们把会被多个执行流访问的资源称为临界资源&#xff0c;我们是通过代码访问临界资源的&#xff0c;而我们访问临界资源的那部分代码称为临界区。 实现一个抢票系统 只有一个线程抢票时 #include <ios…

雷达学习之多普勒频率

一、多普勒频率如何产生&#xff1f; 雷达的原理是发射一些无线电脉冲来探测目标&#xff0c;并通过回波的延时来计算目标与雷达的距离&#xff0c;但当目标为运动物体时&#xff0c;在回波向目标传输的同时&#xff0c;目标也会远离或接近回波&#xff0c;所以会导致回波信号…

CDN加速原理那些事

名词解释 CNAME记录&#xff08;CNAME record&#xff09; CNAME即别名( Canonical Name )&#xff1b;可以用来把一个域名解析到另一个域名&#xff0c;当 DNS 系统在查询 CNAME 左面的名称的时候&#xff0c;都会转向 CNAME 右面的名称再进行查询&#xff0c;一直追踪到最后…

vue 中使 date/time/datetime 类型的 input 支持 placeholder 方法

一般在开发时&#xff0c;设置了 date/time/datetime 等类型的 input 属性 placeholder 提示文本时&#xff0c; 发现实际展示中却并不生效&#xff0c;如图&#xff1a; 处理后效果如图&#xff1a; 处理逻辑 判断表单项未设置值时&#xff0c;则设置其伪类样式&#xff0c;文…

Pillow教程11:九宫格切图的实现方法(安排!!!)

---------------Pillow教程集合--------------- Python项目18&#xff1a;使用Pillow模块&#xff0c;随机生成4位数的图片验证码 Python教程93&#xff1a;初识Pillow模块&#xff08;创建Image对象查看属性图片的保存与缩放&#xff09; Pillow教程02&#xff1a;图片的裁…

ctf_show笔记篇(web入门---SSTI)

前言 模板引擎 模板引擎是为了让用户界面以及业务数据分离开才产生的&#xff0c;模板引擎会生成特定的文档&#xff0c;然后通过模板引擎生成前端html代码&#xff0c;然后再获取用户数据再放到渲染函数里渲染&#xff0c;最后将生成的html代码个渲染好的数据结合拿给浏览器呈…

【Git教程】(十)版本库之间的依赖 —— 项目与子模块之间的依赖、与子树之间的依赖 ~

Git教程 版本库之间的依赖 1️⃣ 与子模块之间的依赖2️⃣ 与子树之间的依赖&#x1f33e; 总结 在 Git 中&#xff0c;版本库是发行单位&#xff0c;代表的是一个版本&#xff0c;而分支或标签则只能被创建在版本库这个整体中。如果一个项目中包含了若干个子项目&#xff0c;…

学习赚钱两不误--全自动挂机软件(网心云)

1、简介 程序员的工作环境程序员的工作环境最多的就是网络资源&#xff0c;所以我们工作中有很多的闲置网络资源&#xff0c;不白嫖有点浪费哈。下面就给大家介绍一下免费分享上行带宽赚钱的平台--网心云 优点&#xff1a; &#xff08;1&#xff09;平台大、靠谱、稳定 &a…

四川易点慧电子商务抖音小店可靠购物

在当下这个信息爆炸的时代&#xff0c;电子商务的崛起不仅改变了人们的购物习惯&#xff0c;也催生了众多新兴的电商平台。四川易点慧电子商务抖音小店便是其中的佼佼者&#xff0c;以其独特的魅力和可靠性&#xff0c;赢得了广大消费者的青睐。 一、平台背景实力雄厚 四川易点…

3、最大池化maxinmum pooling

了解有关最大池化特征提取的更多信息。 简介 在第二课中,我们开始讨论卷积神经网络(convnet)的基础如何进行特征提取。我们了解了这个过程中的前两个操作是在带有 relu 激活的 Conv2D 层中进行的。 在这一课中,我们将看一下这个序列中的第三个(也是最后一个)操作:通过…

(一)基于IDEA的JAVA基础12

一维数组 为什么使用数组: 当我们需要存储一系列数据的时候&#xff0c;就需要用到数组&#xff0c;如果不使用数组&#xff0c;我们就要需要一个一个的去声明变量&#xff0c;这样浪费内存空间&#xff0c;同时效率低下。 什么是数组: 数组本身就是一个变量&#xff0c;只…

蓝桥杯-【二分】分巧克力,跳石头

代码及解析: #include<bits/stdc.h> using namespace std; int n,k; const int N100010; int h[N],w[N]; bool check(int d){int num0;for(int i0;i<n;i) num (h[i]/d)*(w[i]/d);if(num>k) return true; //够分else return false; //不够分 } in…

Linux: 工具: tshark 抓到了收方向的ESP明文包?

根据这个描述&#xff0c;看着是正常的&#xff0c; 抓到包之后&#xff0c;可以方便的分析问题&#xff0c;省去在wireshark里解码的问题。 经过调查发现是内核将ESP解开之后&#xff0c;如果是tunnel模式&#xff0c;内核又重新将skb丢给了interface去做处理。这样tshark/tcp…

LightDB24.1 ecpg支持exec sql for :i update(or insert)语法

背景 oracle 在适配过程中&#xff0c;发现pro*c支持exec sql for :i update(or insert)语法&#xff0c;其功能是取代 for(;;) {update(or insert)语法; }其中i决定循环执行的次数&#xff0c;update(or insert)表示循环执行的次数。 我们在oracle环境下测试得到如下经验&a…

diffusion model(十五) : IP-Adapter技术小结

infopaperhttps://arxiv.org/pdf/2308.06721.pdfcodehttps://github.com/tencent-ailab/IP-Adapterorg.Tencent AI Lab个人博客地址http://myhz0606.com/article/ip_adapter 1 Motivation 为了对文生图diffusion model进行特定概念的定制&#xff0c;常用LoRA[1]、textual in…

国内超声波清洗机排名!洗眼镜超声波清洗机推荐

眼镜是我们日常生活中不可或缺的用具&#xff0c;但随着使用时间的增长&#xff0c;眼镜上的灰尘和污垢也会逐渐积累&#xff0c;传统的清洗方法往往难以彻底清洁。为了解决这一难题&#xff0c;超声波清洗机出现了&#xff01;它利用超声波振动原理&#xff0c;可以轻松、快速…

使用Docker部署jar包

vi DockerfileDockerfile内容 FROM java:8 ADD chery5G-admin.jar chery5G-admin.jar ENTRYPOINT ["java","-jar","chery5G-admin.jar"]上传jar包到Dockerfile文件同级目录 使用Dockerfile文件&#xff0c;将jar包制作为镜像 docker build -t…

2024/4/5—力扣—在排序数组中查找元素的第一个和最后一个位置

代码实现&#xff1a; 思路&#xff1a;二分法 方法一&#xff1a;分别查找左右侧边界 /*** Note: The returned array must be malloced, assume caller calls free().*/ int GetTargetFirstPosition(int *nums, int numsSize, int target) {int l 0, r numsSize - 1;while …