其他分享
首页 > 其他分享> > Django微课商城开发(一) Model层开发

Django微课商城开发(一) Model层开发

作者:互联网

1、创建Django项目和对应的app

在Pycharm终端使用命令django-admin startapp app名字  创建course和user两个app

创建命令与创建结果如下:

在courseMarket文件夹下的settings中的INSTALLED_APPS中配置course和user两个app,代码如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'user.apps.UserConfig',
    'course.apps.CourseConfig',
]

2、数据库的创建

在courseMarket文件夹下的settings中找到DATABASES,配置自己的数据库,MySQL数据库的配置代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': 'localhost',
        'PORT': '3306',
        'NAME': 'courseMarket',
        'USER': 'root',
        'PASSWORD': '123456',
    }
}

配置完成以后创建数据库,在pycharm右侧DataBase中连接mysql数据库,并创建courseMarket数据库:

create database courseMarket

至此数据库创建完毕

3、微课商城业务分析

在user中的models文件中创建User表,代码如下:

from django.db import models

# Create your models here.
class User(models.Model):
    account = models.CharField(max_length=16,unique=True,verbose_name="账号")
    password = models.CharField(max_length=16,verbose_name="密码")
    username = models.CharField(max_length=16,verbose_name="用户名")
    money = models.DecimalField(max_digits=12,decimal_places=2,default=0,verbose_name="余额")
    gender = models.PositiveSmallIntegerField(default=0,verbose_name="性别")
    tel = models.CharField(max_length=11,default='',verbose_name="手机号")

在course的models文件夹下创建Course表和Category表,代码如下:

import datetime
from django.db import models
from user.models import User

# Create your models here.
class Category(models.Model):
    name = models.CharField(max_length=50,unique=True,verbose_name="课程种类")

class Course(models.Model):
    courseName = models.CharField(max_length=40,verbose_name='课程名称')
    filename = models.FileField(verbose_name='文件名称')
    imgname = models.ImageField(verbose_name='课程图片')
    pCategory = models.ForeignKey(to=Category,related_name="course_set",on_delete=models.CASCADE,verbose_name='课程类别')
    price = models.DecimalField(max_digits=7,decimal_places=2,default=0,verbose_name='售价')
    summary = models.CharField(max_length=1000,default='',verbose_name='课程介绍')
    status = models.PositiveSmallIntegerField(default=0,verbose_name='状态')
    createDatetime = models.DateTimeField(default=datetime.datetime.now(),verbose_name='创建时间')
    userBuy = models.ManyToManyField(to=User,related_name="userBuyer_set",verbose_name='购买用户')
    userShoppingcart = models.ManyToManyField(to=User,related_name="userShoppingcart_set",verbose_name='加入购物车的用户')

4、生成迁移文件,创建数据库中的表

在pycharm终端输入python manage.py makemigrations命令生成迁移文件,并使用python manage.py migrate执行迁移文件生成对应的数据库表

执行迁移文件完毕后,刷新数据库,可以看到新生成的数据表:

至此微课商城Model层开发完毕

标签:verbose,models,max,Django,default,微课,Model,django,name
来源: https://blog.csdn.net/Monkeydesigner/article/details/118367737