python Django框架学习4
Django框架学习4
本篇文章主要讲述django的模型类的创建、迁移和前端与数据库的交互。
模型类的创建:
工程中的模型类的位置在app目录下的models.py文件中,模型类里面定义的类属性是为了生成数据库里面的表结构使用的,简言之,这个文件中要定义这个app中所有要用到的数据,并根据关联性,把它们封装在不同的类(数据表)当中。一个模型类对应数据库中一张数据表,一个类属性对应数据表中一个字段。
我们以前面实现的项目——云端留言版为例
先根据留言版的web页面来确定在模型类中所要定义的数据字段
如上图,我们定义4个字段并把他们封装到同一类ceshi类当中,分别是:
fs(发送方)
js(接收方)
data(留言信息)
time(留言时间)
然后在models.py文件中编写并封装这个类(代码如下):
from django.db import models
from datetime import datetime
# Create your models here.
class ceshi(models.Model):
fs = models.CharField(max_length=20,verbose_name="发送方")
js = models.CharField(max_length=20,verbose_name="接收方")
data = models.CharField(max_length=200,verbose_name="内容")
time = models.DateTimeField(default=datetime.now,verbose_name="发送日期")
def __str__(self):
return self.fs
class Meta:
verbose_name='内容信息'
verbose_name_plural=verbose_name
其中重写str方法是为了方便在控制台返回查看返回的字段信息。
写好模型类后,我们需要在setting.py文件配置数据库信息
这里我所使用的是mysql数据库,接下来,我们还需要在mysql中创建相应的数据库——liuyanban
这里我使用的是naticat for mysql数据库可视化软件
下载链接
这里是我创建好的数据库。
模型迁移:
1.生成迁移文件
在控制台输入以下命令:
python manage.py makemigrations
成功之后会在app目录下的migrations文件下生成对应的py文件
2.执行迁移
在控制台输入以下命令:
python manage.py migrate
注意在这一步可能会报出类似以下的错误:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.9.3.
这条错误是因为Django2.2.10已经不能按照之前的老办法连接MySQL数据库了,会报错。直接用1.3.13或者以上版本mysqlclient连接,可以用1.4.6或者2.0.1等都可以。不用pymysql即可。直接在终端执行一般默认下载最新版本即可。
因此还需要在我们的python环境中安装mysqlclient这个包
在安装好包后,运行成功后如下图:
到这里模型的迁移就算是成功了,现在在数据库中可以查看到我们在models.py文件中编写的类中所对应的数据表了
数据库交互:
在前面的云端留言板项目中,我所采用数据的存储方式是以txt文件存储,不方便数据的备份,因此我现在采用数据库的方式对云端留言板的数据进项存储。
我们在views.py文件中修改视图函数,
存储数据只需要这一句就可以实现,然后我们注释掉使用文件存储数据的语句。
在查询数据库数据并向前端展示时,
我们先查询数据库中所有内容,然后再进行判断接收人信息,然后把所查询到的数据返回到前端显示:
这里是提交数据,我们在我们的mysql数据库中进行查看:
现在我们在前端点击接收留言:
数据成功返回!
总结
本文简单的讲述django模型类的建立、迁移还有与数据库的简单交互,这样可以保证数据的安全性,也是在学习django框架不可缺少的一步。