Django学习路线之MySQL驱动安装及简单连接(文末附简单图书管理系统实例)

这一部分算是一个过渡的部分,内容相比于前三部分来说,会少一些,主要是讲讲数据库的安装以及基本的有关数据库的操作。

  1. MySQL驱动程序安装
  2. Django配置连接数据库
  3. 在Django中操作数据库
  4. Python DB API下规范下cursor对象常用接口
  5. 简单图书管理系统实例

在这里插入图片描述

1. MySQL驱动程序安装

我们使用Django来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。

在Python3中,驱动程序有多种选择:

  • pymysql
    纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
  • mysqlclient
    是MySQL-python的另外一个分支。支持Python3 并且修复了一些bug。
  • MySQL-python
    也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2
    但是只支持Python2,目前还不支持Python3。
  • MySQL Connector/Python
    MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。

这里我们就使用mysqlclient来操作

mysqlclient安装非常简单,只需要通过pip install mysqlclient即可安装:
在这里插入图片描述
这里需要注意的是,我们要在虚拟环境中安装:
在这里插入图片描述

2. Django配置连接数据库

在操作数据库之前,首先先要连接数据库。这里我们以配置MySQL为例来讲解。

Django连接数据库,不需要单独的创建一个连接对象。只需要在settings.py文件中做好数据库相关的配置就可以了:
在这里插入图片描述
这是默认的配置,ENGINE是数据库引擎,我们可以在以下目录找到Django支持的数据库引擎:
在这里插入图片描述
在这里插入图片描述
因为这里我们使用的是MySQL,所以这里改成:

'ENGINE': 'django.db.backends.mysql'

下面我们需要根据自己的数据库来配置,在这之前,我们打开MySQL,并创建一个数据库

启动phpStudy:
在这里插入图片描述
如果是第一次使用,需要配置连接:
在这里插入图片描述
测试连接成功即可进入界面:
在这里插入图片描述
新建数据库:
在这里插入图片描述
因此name的配置如下:

'NAME': 'django_db'

当然还有一些数据库的密码、端口什么的也需要进行配置,配置如下:

# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases

DATABASES = {
   
    'default': {
   
        # 数据库引擎(是mysql还是oracle等)
        'ENGINE': 'django.db.backends.mysql',
        # 数据库的名字
        'NAME': 'django_db',
        # 连接mysql数据库的用户名
        'USER': 'root',
        # 连接mysql数据库的密码
        'PASSWORD': 'root',
        # mysql数据库的主机地址
        'HOST': '127.0.0.1',
        # mysql数据库的端口号
        'PORT': '3306',
    }
}

配置好后,运行manage.py,如果配置错误,是不会报错的,只有在操作数据库时才会报错

3. 在Django中操作数据库

下面新建一个名为book的app,我们在book里操作数据库:
在这里插入图片描述
在项目下的urls.py文件里做映射:
在这里插入图片描述
接着在book里新建urls.py并补充映射的代码:
在这里插入图片描述
在book\views.py里补充对应得方法:
在这里插入图片描述
运行的时候,这里报了一个错:
在这里插入图片描述
可以查看这篇文章:
https://blog.csdn.net/linhai1028/article/details/80300241

处理好后便可以运行了:
在这里插入图片描述
在Django中操作数据库有两种方式。第一种方式就是使用原生sql语句操作,第二种就是使用ORM模型来操作。

在Django中使用原生sql语句操作其实就是使用python db api的接口来操作。如果你的mysql驱动使用的是pymysql,那么你就是使用pymysql来操作的,只不过Django将数据库连接的这一部分封装好了,我们只要在settings.py中配置好了数据库连接信息后直接使用Django封装好的接口就可以操作了

为了操作数据库,这里我们还需要新建一张数据表:
在这里插入图片描述
然后我们手动创建几条数据:
在这里插入图片描述
下面我们回到views.py:

from django.shortcuts import render
from django.http import HttpResponse

# 使用django封装好的connection对象,会自动读取settings.py中数据库的配置信息
from django.db import connection

# Create your views here.

def book(request):
    # 获取游标对象
    cursor = connection.cursor()
    # 拿到游标对象后执行sql语句
    cursor.execute("select * from book")
    # 获取所有的数据
    rows = cursor.fetchall()
    # 遍历查询到的数据
    for row in rows:
        print(row)
    return HttpResponse(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr.郑先生_

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值