一、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项目一相关推荐

  1. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  2. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

    Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...

  3. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  4. Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库

    示例见:Gitte 公仓设置 在项目中添加maven-publish的插件 plugins {kotlin("jvm") version "1.3.72"kot ...

  5. springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试

    首先,maven项目中引入依赖 <dependency><groupId>junit</groupId><artifactId>junit</ar ...

  6. IDEA设置单个文件、单个包、单个项目的编码格式

    IDEA设置单个文件.单个包.单个项目的编码格式 File-> Settings-> File Enclodings 选择编码格式,确定即可. 注意:此处的编码格式设定以后,该包已经存在的 ...

  7. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  8. 两步完成项目定时启动,java项目定时启动

    两步完成项目定时设置: 在需要定时启动或运行的方法上面加上注解@Scheduled //当天只跑一次 @Scheduled(cron = "0 40 21 * * ?") 在启动类 ...

  9. Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决

    在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决

最新文章

  1. 因“薪水太高”被欠薪3个月、后又遭解雇?程序员愤怒反击!
  2. Java并发:volatile内存可见性和指令重排
  3. Spring Boot开启的2种方式
  4. Python 字典初始化dict()和{}
  5. hadoop的datanode多磁盘空间处理
  6. ajax 直接向后台发送请求,通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路...
  7. android arcgis多变形边框颜色,ArcGIS制图技巧—边框的选择
  8. springBoot 集合深度拷贝
  9. GO语言学习之路13
  10. ddrelease64 黑苹果_GitHub - wangtufly/Precision5510-High-Sierra: DELL Precision5510 10.13.X 黑苹果教程...
  11. 锐龙4500和4600哪个好 r5 4500和r5 4600的区别
  12. im即时通讯开发:群聊消息的已读未读功能
  13. 射频信号发生器的应用选择
  14. PHP与MySQL交互实现网页登录注册功能(步骤超详细!!!)
  15. css 剪辑图片_css剪裁GIF背景图片动画特效
  16. Combining Word and Entity Embeddings for Entity Linking
  17. JAVA远程(ssh)执行linux脚本
  18. Matlab样条工具箱(Spline ToolBox)与曲线拟合
  19. Java基础入门:IDEA软件安装和软件初始化设置
  20. 外贸英语900句之 保险 Insurance

热门文章

  1. 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过
  2. C# 什么是【事件驱动】
  3. 关于CompletableFuture的一切,看这篇文章就够了
  4. Java学习笔记十五
  5. Object类中的两个方法——wait和notify使用总结
  6. PowerDesigner生成mysql字段comment 注释
  7. Effective Java之请不要在新代码中使用原生态类型(二十三)
  8. hdu 1569 方格取数(2) 最大点权独立集
  9. 27行代码AC_How Many Tables HDU - 1213(并查集讲解)
  10. android按钮防止重复点击事件,实例详解Android解决按钮重复点击问题