Django的mysql数据库连接
作者:mmseoamin日期:2023-12-18

一、准备工作

首先Mysql和navicate Premuim 已经安装好,并且可以建立数据库的连接,本次需使用的工具是

1、vs code 2、navicate Premuim 3、Mysql

二,Django的mysql数据库连接

1、创建一个Django项目

打开vs code ,按Ctrl+ Shift + ~ ,调出vs code的终端界面,输入以下命令创建 test11 项目 

django-admin startproject test11

 2、配置venv虚拟环境

(1)创建虚拟环境命令:

需要跳转到项目test11路径下,执行一下命令

python -m venv venv

(2)进入venv/Stripts目录下:

cd 'venv/Stripts'

(3)激活虚拟环境

./activate

(4)回到test11路径下    (两次cd..)

cd..

(5)在虚拟环境中安装django

pip install django

 3、创建一个应用

创建一个webapp的应用,输入python manage.py startapp webapp

 python manage.py startapp webapp

Django的mysql数据库连接,第1张

4、建立连接与数据库

 (1)使用Navicat Premium 16  图形化界面建立数据库连接,连接名为testweb

        Django的mysql数据库连接,第2张  Django的mysql数据库连接,第3张

 (2)新建数据库,数据库名为testsql 

       Django的mysql数据库连接,第4张  Django的mysql数据库连接,第5张

 5、配置settings.py

找到test11/settings.py ,在settings.py 中进行更改。

 (1)更改用户权限

ALLOWED_HOSTS = ['*']

Django的mysql数据库连接,第6张

(2)注册webapp应用

INSTALLED_APPS = [

     .....

    'webapp', #添加注册webapp

]

 Django的mysql数据库连接,第7张

(3)配置mysql模块

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',  #更改为mysql

        'NAME': 'testsql',  #testsql数据库名

        'USER': 'root',      #数据库的用户名

        'PASSWORD': '11111',   #密码

        'HOST': '',         #本地地址,不是远程操作无需填写地址

        'PORT': '3307', #端口号,默认为3306

    }

}

 6、定义模块类型

在test11/webapp/models.py 中定义模块,代码如下:

from django.db import models

class title(models.Model):  #定义一个文章类 title

    title=models.CharField(max_length=20)   #文章名

    address=models.CharField(max_length=20)  #地址

 7、安装mysqlclient

使用mysql需用到MYSQLdb模块,故需要安装mysqlclient包,命令如下:

pip install  mysqlclient

 (但是一般这样都会报错。所以先让模型生成迁移文件,然后在安装mysqlclient,可以先跳过该步骤,直接进行8、迁移数据库)

8、迁移数据库

(1)生成迁移文件makemigrations

迁移文件命令如下:

python manage.py makemigrations

然后会报错,说你没有安装 mysqlclient 这个时候安装它就会成功

安装mysqlclientm命令如下:

pip install  mysqlclient

 然后还会有个警告:叫你更新pip

Django的mysql数据库连接,第8张

 执行一下命令:

python -m pip install --upgrade pip

Django的mysql数据库连接,第9张

 然后在执行一下生成迁移文件的命令,这样就能成功了

python manage.py makemigrations

Django的mysql数据库连接,第10张

(2)生成迁移文件后,执行migrate ,进行文件的迁移

命令如下:

python manage.py migrate 

Django的mysql数据库连接,第11张 Django的mysql数据库连接,第12张

 9、添加数据

(1)先进入python交互式中

命令如下:

python manage.py shell

Django的mysql数据库连接,第13张

 (2)添加数据

from webapp.models import title   #导入模块类

mod=title.objects  #用mod代替title.objects

d=mod.create(title='1111',address='000000')  #添加数据

Django的mysql数据库连接,第14张

Django的mysql数据库连接,第15张

到这里Django与Mysql中数据库的连接就完成了。