目录
2)增删改(写这里的时候不小心ctrl+z全删了,所以又写了一遍,下面的不做详细解释了,心情不美丽,可以私聊问我,或者等我改)
1.创建django项目
本文章项目目录如下:frontend是vue项目,Web_Server是django项目也就是后端
vue已经讲过了,相信学习vue应该是搜索到第一篇文章,本文仅在最后一部分前后端交互会涉及到vue,前面是关于vue与数据库的交互还有接口。关于django项目的创建,在这里说明一下,是怎么创建出我这样的django文件结构的
首先打开cmd
#进入Web_server文件夹(补充一下个人理解,创建APP需要manage.py文件,只有这个文件夹里有)
$ cd StuGrade/Web_server
$ python manage.py startapp APP1
APP1在Web_server.setting的installed里配置一下就好了
这一趟完成,目录跟我一样就可以了!
好了,那么,我们的配角,templates和mysql要登场了。
2.数据库的增添删改
(1).创建models
我们先在models文件中创建一张数据库表,很好理解,是一个成绩管理的数据库
from django.db import models
# Create your models here.
# Create your models here.
class Grade(models.Model):
id = models.AutoField(primary_key=True)
sid = models.IntegerField(null=True)#学生序号必须有
name = models.CharField(max_length=100, blank=True, null=True)#学生名字必须有
test_type = models.CharField(max_length=100, blank=True, null=True)#考试科目
day = models.CharField(max_length=100, blank=True, null=True)#考试日期
grade = models.IntegerField(null=0)#考试成绩,没有的话自动填充为0
No = models.IntegerField(null=0)#考试排名,没有的话自动填充为0
class Meta:
db_table = 'grade'
在django的setting.py中,配置好你的mysql数据库(懂我意思吧,代表了什么已经写在注释里了,最后一行设置utf8解码,不配置好这个,只要有中文上传服务器就会变得很麻烦)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 默认
'NAME': 'school', # 连接的数据库
'HOST': '127.0.0.1', # mysql的ip地址
'PORT': 3306, # mysql的端口
'USER': 'root', # mysql的用户名
'PASSWORD': '123456', # mysql的密码
'OPTIONS' : { 'charset' : 'utf8mb4' },
}
}
(2).数据库迁移
数据库迁移的两大命令:
python manage.py makemigrations & python manage.py migrate
前者是将model层转为迁移文件migration,后者将新版本的迁移文件执行,更新数据库。
这两中命令调用默认为全局,即对所有最新更改的model或迁移文件进行操作。如果想对部分app进行操作,就要在其后追加app name:
$ python manage.py makemigrations app_name
$ python manage.py migrate app_name
如果想要精确到某个迁移文件(0004_xxx.py):
$ python manage.py migrate app_name 0004
如果想看迁移文件的执行状态,可以用showmigrations命令查看:
$