(二)最新版Django项目数据库迁移;读取数据库增添删改;以及显示在html或vue前端(Django+Vue+Mysql,数据库管理数据分析网站)

目录

1.创建django项目

2.数据库的增添删改

(1).创建models

(2).数据库迁移

数据库迁移的两大命令:

(3).Django处理数据库

1)查询

url配置:

输入网址

2)增删改(写这里的时候不小心ctrl+z全删了,所以又写了一遍,下面的不做详细解释了,心情不美丽,可以私聊问我,或者等我改)

3.以数据显示在templates中的html文件作为引例

4.跨域显示数据——django数据显示在vue

跨域


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命令查看:

$

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐开甲

共勉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值