DjangoFreshStore项目一
一、Django电商项目开始与建模
(一)商城项目介绍
项目功能的划分
电商项目我们划分为两个部分:
1、前台消费的部分,负责展示,出售商品
2、后台管理部分,负责商品上架,下架管理
项目被分为2个部分,一部分是前台(Buyer),一部分是后台(Store)
基于项目我们要介入git版本管理。
数据库建模
进行版本迭代的建模
首先进行后台的开发
卖家
Username 用户名
Password 密码
Nickname 昵称
Phone 电话
Email 邮箱
Picture 头像
Address 地址
card_id 身份证
店铺类型
Name 类型名称
Description 类型描述
店铺
Name 店铺描述
Address 店铺地址
Logo 店铺logo
Call_number
Money 店铺注册资金
User_id 卖家id
Type 多对多
商品
Name 商品名称
Price 商品价格
Image 商品图片
Number 商品数量库存
Description 商品的描述
State 商品的状态
Data 出厂日期
safeDate 保质期
商品图片
Shop_id 多对一
Img_address
Img_description
开始搭建项目:
1、创建git仓库
2、拉取git仓库
3、创建django项目,提交到远端。
2、定义模型models.py
from django.db import modelsclass Seller(models.Model):username = models.CharField(max_length=32,verbose_name="用户名")password = models.CharField(max_length=32, verbose_name="密码")nickname = models.CharField(max_length=32, verbose_name="昵称",null=True,blank=True)phone = models.CharField(max_length=32, verbose_name="电话",null=True,blank=True)email = models.EmailField(verbose_name="邮箱",null=True,blank=True)picture = models.ImageField(upload_to="store/images", verbose_name="用户头像",null=True,blank=True)address = models.CharField(max_length=32, verbose_name="地址",null=True,blank=True)card_id = models.CharField(max_length=32, verbose_name="身份证",null=True,blank=True)class StoreType(models.Model):store_type = models.CharField(max_length=32,verbose_name="类型名称")type_descripton = models.TextField(verbose_name="类型名称")class Store(models.Model):store_name = models.CharField(max_length=32, verbose_name="店铺名称")store_address = models.CharField(max_length=32,verbose_name="店铺地址")store_descripton = models.TextField(verbose_name="店铺描述")store_logo = models.ImageField(upload_to="store/images",verbose_name="店铺logo")store_phone = models.CharField(max_length=32,verbose_name="店铺电话")store_money = models.FloatField(verbose_name="店铺注册资金")user_id = models.IntegerField(verbose_name="店铺主人")type = models.ManyToManyField(to=StoreType,verbose_name="店铺类型")class Goods(models.Model):goods_name = models.CharField(max_length=32,verbose_name="商品名称")goods_price = models.FloatField(verbose_name="商品价格")goods_image = models.ImageField(upload_to="store/images", verbose_name="商品图片")goods_number = models.IntegerField(verbose_name="商品数量库存")goods_description = models.TextField(verbose_name="商品描述")goods_date = models.DateField(verbose_name="出厂日期")goods_safeDate = models.IntegerField(verbose_name="保质期")store_id = models.ManyToManyField(to=Store,verbose_name="商品店铺")class GoodsImg(models.Model):img_address = models.ImageField(upload_to="store/images",verbose_name="图片地址")img_description = models.TextField(max_length=32, verbose_name="图片描述")goods_id = models.ForeignKey(to = Goods,on_delete = models.CASCADE, verbose_name="商品id")
2、settings.py设置
配置app
设置模板目录
设置静态文件
STATIC_URL = '/static/'
# STATICFILES_DIRS=(
# os.path.join(BASE_DIR,"static"),
# )
# MEDIA_URL="/media/"#长传文件
# MEDIA_ROOT=os.path.join(BASE_DIR,"static")
STATIC_ROOT=os.path.join(BASE_DIR,"static")#收集静态文件
DjangoFreshStore项目一相关推荐
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库
示例见:Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kot ...
- springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试
首先,maven项目中引入依赖 <dependency><groupId>junit</groupId><artifactId>junit</ar ...
- IDEA设置单个文件、单个包、单个项目的编码格式
IDEA设置单个文件.单个包.单个项目的编码格式 File-> Settings-> File Enclodings 选择编码格式,确定即可. 注意:此处的编码格式设定以后,该包已经存在的 ...
- spring boot项目 中止运行 最常用的几种方法
spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...
- 两步完成项目定时启动,java项目定时启动
两步完成项目定时设置: 在需要定时启动或运行的方法上面加上注解@Scheduled //当天只跑一次 @Scheduled(cron = "0 40 21 * * ?") 在启动类 ...
- Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决
在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决
最新文章
- 因“薪水太高”被欠薪3个月、后又遭解雇?程序员愤怒反击!
- Java并发:volatile内存可见性和指令重排
- Spring Boot开启的2种方式
- Python 字典初始化dict()和{}
- hadoop的datanode多磁盘空间处理
- ajax 直接向后台发送请求,通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路...
- android arcgis多变形边框颜色,ArcGIS制图技巧—边框的选择
- springBoot 集合深度拷贝
- GO语言学习之路13
- ddrelease64 黑苹果_GitHub - wangtufly/Precision5510-High-Sierra: DELL Precision5510 10.13.X 黑苹果教程...
- 锐龙4500和4600哪个好 r5 4500和r5 4600的区别
- im即时通讯开发:群聊消息的已读未读功能
- 射频信号发生器的应用选择
- PHP与MySQL交互实现网页登录注册功能(步骤超详细!!!)
- css 剪辑图片_css剪裁GIF背景图片动画特效
- Combining Word and Entity Embeddings for Entity Linking
- JAVA远程(ssh)执行linux脚本
- Matlab样条工具箱(Spline ToolBox)与曲线拟合
- Java基础入门:IDEA软件安装和软件初始化设置
- 外贸英语900句之 保险 Insurance
热门文章
- 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过
- C# 什么是【事件驱动】
- 关于CompletableFuture的一切,看这篇文章就够了
- Java学习笔记十五
- Object类中的两个方法——wait和notify使用总结
- PowerDesigner生成mysql字段comment 注释
- Effective Java之请不要在新代码中使用原生态类型(二十三)
- hdu 1569 方格取数(2) 最大点权独立集
- 27行代码AC_How Many Tables HDU - 1213(并查集讲解)
- android按钮防止重复点击事件,实例详解Android解决按钮重复点击问题