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