vue+Django 电商网站开发 2

7 篇文章 0 订阅
7 篇文章 0 订阅

  • 新建apps

usersgoodsoperationtrade
 用户商品用户操作交易记录

 

运行 

starapp users

  • 设计users model

 用户信息继承django默认用户表,增加姓名,生日,手机,性别,邮箱,及添加时间

from datetime import datetime # addtime
from django.contrib.auth.models import AbstractUser    # 继承user表
    name = models.CharField(max_length=30,  null=True, blank=True, verbose_name="name")
    birthday = models.DateField( null=True, blank=True, verbose_name="birthday")
    mobile = models.CharField(max_length=11, verbose_name="mobile_phone")
    gender = models.CharField(max_length=6, choices=(("male", "male"), ("female", "female")), default="male", verbose_name="gender")
    email = models.EmailField(max_length=100, null=True, blank=True, verbose_name="email")
    add_time = models.DateTimeField(default=datetime, verbose_name="add_time")

users model还需要保存用户注册时的验证码,激活时进行验证

class VerifyCode(models.Model):
    code = models.CharField(max_length=10, verbose_name="verify_code")
    mobile = models.CharField(max_length=11, verbose_name="mobile_phone")
    add_time = models.DateTimeField(default=datetime, verbose_name="add_time")
model设计完成后,需在setting.py中注册users,并写入
# 替代系统默认用户表
AUTH_USER_MODEL = 'users.UserProfile'

  • Goods model设计

分析发现商品存在三个级别,生鲜,酒水等为第一级别。以生鲜为例,下分肉,水产,蛋类,肉又细分为猪肉,牛肉,羊肉

所以在设计model设计了单独的商品等级类,和商品信息类,商品信息继承商品等级

class GoodsCategory(models.Model):
    CATEGORY_TYPE  = (
        (1, "first_item"),
        (2, "second_item"),
        (3, "third_item"),
    )
    name = models.CharField(default="", max_length=30, verbose_name="category_name",  help_text="category_name")
    code = models.CharField(default="", max_length=30, verbose_name="category_code",  help_text="category_code")
    desc = models.CharField(default="", verbose_name="category_describe",  help_text="category_describe")
    category_type = models.CharField(choices=CATEGORY_TYPE, verbose_name="category_level")
    parent_category = models.ForeignKey("self", null=True,blank=True, verbose_name="parent_category_level",  related_name="sub_cat")
    is_tab = models.BooleanField(default=False, verbose_name="tab_in_homepage", help_text="tab_in_homepage")
    add_time = models.DateTimeField(default=datetime, verbose_name="add_time")

商品类

class Goods(models.Model):
    category = models.ForeignKey(GoodsCategory, null=True, blank=True, verbose_name="goods_catrgory")
    goods_sn = models.CharField(max_length=50, default="", verbose_name="goods_sn")
    name = models.CharField(max_length=300, verbose_name="goods_name")
    click_num = models.IntegerField(default=0, verbose_name="click_num")
    sold_num = models.IntegerField(default=0, verbose_name="sold_num")
    fav_num = models.IntegerField(default=0, verbose_name="fav_num")
    goods_num = models.IntegerField(default=0, verbose_name="goods_num")
    market_price = models.FloatField(default=0, verbose_name="market_price")
    shop_price = models.FloatField(default=0, verbose_name="market_price")
    goods_brief = models.TextField(max_length=500, verbose_name="商品简短描述")
    goods_desc = UEditorField(verbose_name=u"desc", imagePath="goods/images/", width=1000, height=300,
                              filePath="goods/files/", default='')
    # 是否有运费
    ship_free = models.BooleanField(default=True, verbose_name="ship_fee")
    # 产品封面图
    goods_front_image = models.ImageField(upload_to="goods/images/", null=True, blank=True, verbose_name="goods_front_image")
    # 新品推荐
    is_new = models.BooleanField(default=False, verbose_name="new_product")
    # 热销推荐
    is_hot = models.BooleanField(default=False, verbose_name="nhot_product")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="add_time")

品牌类

class GoodCategoryBrand(models.Model):
    name = models.CharField(default="", max_length=30, verbose_name="brand_name",  help_text="brand_name")
    desc = models.CharField(default="", verbose_name="brand_describe",  help_text="brand_describe")
    image = models.ImageField(max_length=200, upload_to="brand/")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="add_time")

商品轮播图

# 商品轮播图
class GoodsImages(models.Model):
    goods = models.ForeignKey(Goods, null=True, blank=True, verbose_name="Goods")
    image = models.ImageField(upload_to="goods/images/banner", null=True, blank=True, verbose_name="goods_banner_image")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="add_time")
首页轮播图
#  首页轮播图
class Banner(models.Model):
    goods = models.ForeignKey(Goods, verbose_name="Goods")
    image = models.ImageField(upload_to="banner", verbose_name="banner")
    index = models.IntegerField(default=0, verbose_name="index")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="add_time")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值