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

Django交易商场

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.lryc.cn/news/337225.html

相关文章:

  • 华为校园公开课走入上海交大,鸿蒙成为专业核心课程
  • 【会员单位】泰州玉安环境工程有限公司
  • Google视觉机器人超级汇总:从RT、RT-2到AutoRT/SARA-RT/RT-Trajectory、RT-H
  • LeetCode-1143. 最长公共子序列【字符串 动态规划】
  • 从0开始创建单链表
  • STC89C52学习笔记(十)
  • 初识二叉树和二叉树的基本操作
  • 如何开辟动态二维数组(C语言)
  • 【MATLAB第104期】基于MATLAB的xgboost的敏感性分析/特征值排序计算(针对多输入单输出回归预测模型)
  • C语言程序与设计——工程项目开发
  • 【Java核心技术】第6章 接口
  • 【Java探索之旅】从输入输出到猜数字游戏
  • 【动态规划】【01背包】Leetcode 1049. 最后一块石头的重量 II
  • 2023 年上海市大学生程序设计竞赛 - 四月赛
  • 别让这6个UI设计雷区毁了你的APP!
  • 继承【C/C++复习版】
  • 题目 2694: 蓝桥杯2022年第十三届决赛真题-最大数字【暴力解法】
  • 【C语言】- C语言字符串函数详解
  • 如何实现小程序滑动删除组件+全选批量删除组件
  • 基于SSM+Jsp+Mysql的农产品供销服务系统
  • ​​​​网络编程学习探索系列之——广播原理剖析
  • 小程序开发SSL证书下载和安装
  • 医疗图像分割 | 基于Pyramid-Vision-Transformer算法实现医疗息肉分割
  • 蓝桥杯 每日2题 day5
  • [ 云计算 | AWS 实践 ] Java 应用中使用 Amazon S3 进行存储桶和对象操作完全指南
  • 循环单链表算法库
  • WPS二次开发系列:Gradle版本、AGP插件与Java版本的对应关系
  • 绿联 安装MariaDB数据库用于Seatable服务
  • Spark, Storm, Flink简介
  • 【攻防世界】mfw(.git文件泄露)